前言
MCU的開發(fā)環(huán)境一般在Windows操作系統(tǒng)上,簡單的工程一般直接編寫Makefile文件后使用make工具構(gòu)建程序,復(fù)雜的工程一般借助CMake來生成Makefile文件后使用make工程構(gòu)建程序(Autosar工程已經(jīng)很復(fù)雜,一般使用CMake來構(gòu)建工程)。本文將介紹Windows下編譯工具CMake的安裝和最簡使用。
正文
一、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)擊鏈接(點(diǎn)擊不了,復(fù)制鏈接地址到瀏覽器即可)進(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è)置。另外需要注意的是為了避免不必要的麻煩,路徑中最好不要包括中文字符。下面簡單描述一下安裝過程。
2.1.雙擊下載的安裝包,進(jìn)入安裝界面,點(diǎn)擊[Next]。
2.2.勾選同意許可后,點(diǎn)擊[Next]。
2.3.可在此處選擇將CMake路徑添加到環(huán)境變量中,并且創(chuàng)建CMake GUI程序的桌面快捷方式。然后點(diǎn)擊[Next]。
2.4.可在此處自定義安裝目錄,設(shè)置好后點(diǎn)擊[Next]。
2.5.開始安裝,安裝完成后點(diǎn)擊[Next]。
2.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
到頁面:Find out more about MinGW-w64 - for 32 and 64 bit Windows | SourceForge.net 下載離線安裝包
https://sourceforge.net/projects/mingw-w64/postdownload
我下載了x86_64-posix-sjlj的壓縮包。
2.安裝MinGW
將下載下來的x86_64-posix-sjlj壓縮包解壓縮便得到了mingw64。
可以看到,這個(gè)是可以直接用的版本了
3.配置環(huán)境變量
直接將/bin路徑添加到環(huán)境變量中即可。
在命令行下,g++ --versiongcc --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
#includeint main(int argc, char *argv[]) { printf("Hello CMake! "); 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" .
如下圖所示:
來源:CSDN博主西晉的no1
審核編輯:湯梓紅
-
WINDOWS
+關(guān)注
關(guān)注
3文章
3547瀏覽量
88743 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6833瀏覽量
123341 -
編譯
+關(guān)注
關(guān)注
0文章
659瀏覽量
32875 -
Makefile
+關(guān)注
關(guān)注
1文章
125瀏覽量
19187 -
CMake
+關(guān)注
關(guān)注
0文章
28瀏覽量
1280
原文標(biāo)題:Windows下CMake的小白級(jí)入門使用教程(hello world)
文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論