CMake和Make是構(gòu)建軟件,其工作涉及將源代碼轉(zhuǎn)換為可執(zhí)行程序。CMake和Make是旨在實(shí)現(xiàn)構(gòu)建過程自動化的工具,幫助開發(fā)者節(jié)省時(shí)間和精力。
Make如何工作
-控制從源代碼生成可執(zhí)行文件和其他文件。
-構(gòu)建程序的說明在名為Makefile的文件中指定。
- Make讀取Makefile,以確定構(gòu)建程序的必要步驟。
CMake的工作原理
- CMake需要一個CMakeLists.txt文件,并充當(dāng)跨平臺制作工具。
-它允許與編譯器無關(guān)的軟件構(gòu)建、測試、打包和安裝。
- CMake為各種系統(tǒng)生成構(gòu)建文件,但不直接編譯代碼。
- CMake可以生成Makefiles,然后與Make一起使用,在目標(biāo)平臺上構(gòu)建程序。
CMake 與Make 構(gòu)建比較
-都是生成構(gòu)建系統(tǒng):CMake創(chuàng)建輸出,可供Make等構(gòu)建系統(tǒng)使用,作為其他構(gòu)建系統(tǒng)的生成器。另一方面,Make生成一個編譯的二進(jìn)制可執(zhí)行文件。
跨平臺與單平臺
- CMake跨平臺:CMake旨在在不同的操作系統(tǒng)上工作,實(shí)現(xiàn)跨平臺的一致構(gòu)建。
- Make單一平臺:Make主要在單個平臺上使用,需要手動干預(yù),以確保不同系統(tǒng)之間的兼容性。
小結(jié)
- CMake和Make都是軟件開發(fā)中自動化構(gòu)建過程的基本工具。
- CMake提供跨平臺兼容性,并充當(dāng)各種構(gòu)建系統(tǒng)的生成器,而Make專注于執(zhí)行Makefile中指定的構(gòu)建指令。
-了解CMake和Make之間的區(qū)別使開發(fā)人員能夠根據(jù)其特定項(xiàng)目需求選擇最合適的工具。
-
二進(jìn)制
+關(guān)注
關(guān)注
2文章
796瀏覽量
41757 -
編譯器
+關(guān)注
關(guān)注
1文章
1642瀏覽量
49283 -
生成器
+關(guān)注
關(guān)注
7文章
319瀏覽量
21126 -
CMake
+關(guān)注
關(guān)注
0文章
28瀏覽量
1306
原文標(biāo)題:CMake和Make的區(qū)別?
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Windows下編譯工具CMake的安裝和最簡使用
![Windows<b class='flag-5'>下</b>編譯工具<b class='flag-5'>CMake</b>的安裝和最簡使用](https://file1.elecfans.com/web2/M00/AF/E1/wKgZomVS2U2ASacQAAAPVCut6ZY500.png)
請問一下ARM匯編中的B跳轉(zhuǎn)指令和LDR跳轉(zhuǎn)的區(qū)別在哪
CPU和GPU的區(qū)別有哪些
如何使用CMake工具套件構(gòu)建CUDA應(yīng)用程序
![如何使用<b class='flag-5'>CMake</b>工具套件構(gòu)建CUDA應(yīng)用程序](https://file.elecfans.com/web2/M00/3B/08/pYYBAGJGypWASkICAAC8wcAjy8s500.png)
在Linux下如何使用CMake編譯程序
![在Linux<b class='flag-5'>下</b>如何使用<b class='flag-5'>CMake</b>編譯程序](https://file1.elecfans.com/web2/M00/AD/0C/wKgaomVLO4mARvmyAABniPPNX20357.jpg)
評論