網(wǎng)上的一些cmake教程都是一開始就要介紹一大堆cmake命令废麻,然后再介紹如何寫睬魂。像我這樣的急性子,還沒看完命令介紹贞盯,就想把頁面關(guān)了音念。所以這里我按我自己的學(xué)習(xí)過程,看能不能整理一個(gè)小教程躏敢。
關(guān)于cmake是啥我就不介紹了闷愤,能在網(wǎng)上搜索cmake的一般都大概知道它是干啥的,今天的文章就來寫一個(gè)cmake版的hello world件余。
首先我們準(zhǔn)備基本的開發(fā)環(huán)境(假定你用的是windows系統(tǒng)):
- 安裝msys2讥脐,http://www.msys2.org/
- 安裝必要的開發(fā)工具
pacman -S gcc
pacman -S cmake
PS:因?yàn)槲覀円獙W(xué)習(xí)的是開源工具,在windows系統(tǒng)下想把開源世界里的工具用好蛾扇,最好用我給你準(zhǔn)備的這個(gè)環(huán)境攘烛。雖然cmake也支持VS,但我不太推薦使用镀首,沒有原因坟漱。
假設(shè)我們已經(jīng)有了一個(gè)main.c,現(xiàn)在想把它編成一個(gè)可執(zhí)行程序更哄,我們看看這個(gè)cmake怎么寫芋齿。
開始寫cmake的hello world:
- 先在你的main.c目錄下新建一個(gè)
CMakeLists.txt
文件(文件的名字大小寫無所謂的腥寇,不過一般用cmake的項(xiàng)目都是這樣寫的)。 - 打開這個(gè)文件觅捆,輸入:
add_executable(myapp
main.c)
- 打開msys2赦役,并切到你的程序目錄下,執(zhí)行:
cmake .
cmake --build .
- 不出意外的話栅炒,你會(huì)編出來一個(gè)myapp.exe來掂摔。
這里咱們就用到一個(gè)cmake的命令:
- add_executable 編譯一個(gè)可執(zhí)行的程序。一般的用法就是咱們寫的這樣赢赊,第一個(gè)是要編譯出來的可執(zhí)行程序的名字乙漓,后面跟著所有源文件,如果你有2個(gè)以上的源文件释移,可以寫成:
add_executable(myapp
other.c
main.c)
編譯完成后叭披,你會(huì)看到你的根目錄下生成了一大堆亂七八糟的東西,一般的項(xiàng)目都會(huì)將這些生成的東西單獨(dú)放在一個(gè)文件夾里玩讳,所以我們可以把上面的第三步改成這樣:
mkdir build
cd build
cmake ..
cmake --build .
這樣所有生成的文件就都放在build目錄下了涩蜘,你自己的目錄則是非常的干凈了。
done.
PS 附贈(zèng)一個(gè)同樣的Makefile熏纯,可以自己對(duì)比一下:
myapp: main.c
gcc main.c -o myapp