1 引言
linux中進(jìn)行C/C++開發(fā),一般都是先用編輯器寫好代碼,然后使用gcc工具來(lái)編譯程序。
文件數(shù)量不多的工程,可以直接敲gcc命令進(jìn)行編譯。對(duì)于文件較多的工程,就要使用Makefile來(lái)管理代碼的編譯了。
而手動(dòng)編寫Makefile其實(shí)也是具有一定的難度的,更方便的方式是使用更易編寫CMake來(lái)自動(dòng)生成Makefile。
2 Linux中安裝CMake
這里插一句,在Window系統(tǒng)中,許多人也用過(guò)CMake,它可以配合集成開發(fā)環(huán)境如Visual Studio,通過(guò)圖形化的操作界面,操作CMake圖形界面進(jìn)行代碼的編譯。
本篇介紹的,在Linux中使用CMake,還用不到圖形界面,仍然是文本編輯的方式使用CMake。
CMake在Linux的安裝,直接使用命令安裝即可:
sudo apt install cmake
安裝完成之后可以查看cmake的版本,我用的是3.10.2
3 編譯單個(gè)文件的CMake基礎(chǔ)示例
3.1 編寫C源文件
首先寫一個(gè)最簡(jiǎn)單的hello word程序,hello.c:
#include int main(void) { printf("Hello World\n"); return 0; }
3.2 編寫CMakeLists.txt
然后在相同目錄下編寫CMakeLists.txt:
cmake_minimum_required (VERSION 2.8) project (hello) add_executable(hello hello.c)
這是一個(gè)最基礎(chǔ)的CMake使用模板,這3行的含義如下:
第一行:要求cmake的最低版本為2.8
第二行:工程名
第三行:生成的可執(zhí)行文件名為hello,使用的源文件為hello.c
注:以上3條,add_executable起主要作用,前兩條去掉也可以運(yùn)行
3.3 執(zhí)行cmake指令生成Makefile
然后輸入以下命令運(yùn)行cmake,從而幫我們自動(dòng)生成makefile文件:
cmake .
這個(gè)“點(diǎn)”表示是當(dāng)前目錄搜索源文件。
cmake指令的執(zhí)行結(jié)果如下:
可以看下CMake生成的makefile文件,相比較自己手寫的makefile,這個(gè)自動(dòng)生成的makefile,內(nèi)容很多:
3.4 執(zhí)行make指令編譯代碼
makefile文件產(chǎn)生之后,就可以使用make指令來(lái)編譯源代碼了:
make
執(zhí)行make指令之后,可以看到生成了可執(zhí)行文件hello,運(yùn)行這個(gè)hello文件,就可以看到程序的輸出了:
4 總結(jié)
本篇介紹了Liunx中如何使用CMake來(lái)生成makefile,進(jìn)行進(jìn)行源程序的編譯。
將上述的CMake編譯單個(gè)源文件的使用操作總結(jié)為一張圖:
編寫CMake主要就是編寫CMakeLists.txt,基礎(chǔ)模板為:
cmake_minimum_required (VERSION 2.8) project (hello) add_executable(hello hello.c)
其中最主要的一句就是:
add_executable(hello hello.c)
審核編輯:劉清
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209476 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3383
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論