想學(xué)習(xí)cmake,基于慣性思維,想先跑通一個(gè)“hello world”的例子,奈何網(wǎng)上教程一大把,有用的教程破費(fèi)功夫?qū)ふ?。大部分教程都沒有從新電腦(重裝系統(tǒng)后的電腦)的角度講述步驟。
為了得到干凈的電腦環(huán)境,研究了一段時(shí)間VMware虛擬機(jī),并寫了幾篇文章,感興趣的讀者可移步閱讀:
VMware虛擬機(jī)安裝win10系統(tǒng)教程: VMware虛擬機(jī)安裝win10系統(tǒng)教程_西晉的no1的博客-CSDN博客
經(jīng)過幾天的努力將cmake的“hello world”整個(gè)步驟從新電腦(重裝系統(tǒng)后的電腦,基于VMware虛擬機(jī))的角度跑通了,并將下述過程記錄進(jìn)行了驗(yàn)證,結(jié)果是可行的。
下述內(nèi)容有些來自于其他博客,由于資料查詢的比較多,無法對(duì)應(yīng)出處,故不單列出處了,在此對(duì)引用內(nèi)容的作者們表示感謝。
?
一、Cmake 介紹
CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具,可以用簡單的語句來描述所有平臺(tái)的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件。只是 CMake 的組態(tài)檔取名為 CMakeLists.txt。Cmake 并不直接建構(gòu)出最終的軟件,而是產(chǎn)生標(biāo)準(zhǔn)的建構(gòu)檔(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建構(gòu)方式使用。
Makefile想必大家都不陌生吧,它能夠解決我們的自動(dòng)化編譯問題,大多是IDE軟件都集成了make,譬如 Visual C++的 nmake、linux 下的 GNU make、Qt 的 qmake 等等。
不同的IDE所集成的make工具所遵循的規(guī)范和標(biāo)準(zhǔn)都不同,也就導(dǎo)致其語法、格式不同,也就不能很好的跨平臺(tái)編譯,會(huì)再次使得工作繁瑣起來
那么cmake為了解決這個(gè)問題而誕生了,其允許開發(fā)者指定整個(gè)工程的編譯流程,在根據(jù)編譯平臺(tái),生成本地化的Makefile和工程文件,最后用戶只需make編譯即可
簡而言之,可以把cmake看成一款自動(dòng)生成 Makefile的工具,所以編譯流程就變成了:cmake—>make–>用戶代碼–>可執(zhí)行文件。
二、下載安裝Cmake,配置環(huán)境變量,檢驗(yàn)安裝是否正常
1.下載Cmake
下載地址: Download | CMake
點(diǎn)擊鏈接進(jìn)入cmake官網(wǎng)下載網(wǎng)頁,下載最新穩(wěn)定版即可(Latest Release)
我這里下載的是cmake-3.26.4-windows-x86_64.msi(PS: 根據(jù)個(gè)人電腦windows系統(tǒng)位數(shù)下載對(duì)應(yīng)的版本)
若不想安裝,可直接下載壓縮包版本cmake-3.26.4-windows-x86_64.zip。
2.安裝cmake,配置環(huán)境變量
CMake的安裝非常簡單。壓縮包版本直接解壓即可,安裝版本也可一直點(diǎn)擊下一步進(jìn)行安裝。為了使用方便,可將CMake配置到環(huán)境變量中,當(dāng)然,這一步也可以在安裝過程中設(shè)置。另外需要注意的是為了避免不必要的麻煩,路徑中最好不要包括中文字符。下面簡單描述一下安裝過程。
1.雙擊下載的安裝包,進(jìn)入安裝界面,點(diǎn)擊[Next]。
2.勾選同意許可后,點(diǎn)擊[Next]。
3.可在此處選擇將CMake路徑添加到環(huán)境變量中,并且創(chuàng)建CMake GUI程序的桌面快捷方式。然后點(diǎn)擊[Next]。
4.可在此處自定義安裝目錄,設(shè)置好后點(diǎn)擊[Next]。
5.開始安裝,安裝完成后點(diǎn)擊[Next]。
6.安裝完成,點(diǎn)擊[Finish],結(jié)束安裝過程。
3.檢驗(yàn)安裝是否正常
安裝完成后,即可使用CMake了。在命令行中輸入"cmake --version",可看到如下圖所示的輸出。
?
三、下載安裝MinGW,配置環(huán)境變量,檢驗(yàn)安裝是否正常
cmake并不能完成整個(gè)工程的編譯,cmake會(huì)輸出makefile文件,我們需要用這個(gè)生成的makefile進(jìn)行make編譯。那就需要在windows環(huán)境中安裝MinGW。
1.下載MinGW
到頁面: MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 下載離線安裝包
我下載了x86_64-posix-sjlj的壓縮包。
2.安裝MinGW
將下載下來的x86_64-posix-sjlj壓縮包解壓縮便得到了mingw64。
可以看到,這個(gè)是可以直接用的版本了
3.配置環(huán)境變量
直接將/bin路徑添加到環(huán)境變量中即可。
在命令行下,g++ --version\gcc --version命令有效
由于我們需要在window下直接輸入make,就可以識(shí)別makefile并且自動(dòng)編譯,可以將MinGW安裝路徑bin文件下的mingw32-make.exe復(fù)制一份并重命名為make.exe。
注意:一定要復(fù)制一份再重命名,否則后續(xù)會(huì)出現(xiàn)其他問題
4.檢驗(yàn)安裝是否正常
打開cmd輸入make -version,出現(xiàn)如下信息表示安裝成功。
四、使用Cmake編譯一個(gè)簡單的小工程
新建一個(gè)文件夾(路徑中不要有中文),在該文件夾中新建兩個(gè)文件CMakeLists.txt和hello_cmake.c,兩個(gè)文件內(nèi)容如下:
CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project (hello_cmake)
add_executable(hello_cmake hello_cmake.c)
第一行代碼指定了構(gòu)建項(xiàng)目所需的最低CMake版本。
第二行指定了工程的名字,隨后輸出的exe可執(zhí)行文件也會(huì)和它同一個(gè)名稱 -
project 命令用于設(shè)置工程的名稱,括號(hào)中的參數(shù) hello_cmake 便是我們要設(shè)置的工程名稱;設(shè)置工程名稱并不是強(qiáng)制性的,但是最好加上。
第三行表示項(xiàng)目需要構(gòu)建一個(gè)exe可執(zhí)行文件,并且它由hello_cmake.c編譯而成 -
在本例中傳入了兩個(gè)參數(shù),第一個(gè)參數(shù)表示生成的可執(zhí)行文件對(duì)應(yīng)的文件名,第二個(gè)參數(shù)表示對(duì)應(yīng)的源文件;表示需要生成一個(gè)名為 hello_cmake 的可執(zhí)行文件,所需源文件為當(dāng)前目錄下的 hello_cmake.c。
hello_cmake.c
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello CMake!\n");
getchar();
return 0;
}
?
?
打開cmd進(jìn)入當(dāng)前目錄,輸入如下命令行。
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
make
hello_cmake.exe
注:關(guān)鍵的命令 cmake -G?? "MinGW Makefiles" .. 。若遇到用CMake構(gòu)建c/c++程序時(shí)報(bào)錯(cuò),可嘗試把編譯時(shí)的cmake .改為:cmake -G "MinGW Makefiles" .
如下圖所示:文章來源:http://www.zghlxwxcb.cn/news/detail-630155.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-630155.html
到了這里,關(guān)于windows下cmake的小白級(jí)入門使用教程(hello world)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!