日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

GCC、Make、CMake、Makefile、CMakelists的關(guān)系

 rongq2007 2019-09-06

首先,這些東西都是跟編譯項(xiàng)目有關(guān)系的。它們之間的關(guān)系請(qǐng)從上至下一段一段地看:

1.GCC

GCC全稱是GNU Compiler Collection,是一個(gè)編譯套件。我們可以通過(guò)gcc/g++來(lái)編譯目標(biāo)項(xiàng)目。
但是當(dāng)項(xiàng)目結(jié)構(gòu)復(fù)雜時(shí),通過(guò)gcc/g++命令直接編譯會(huì)出現(xiàn)非常多不便之處,于是出現(xiàn)了Makefile。

2.Makefile

簡(jiǎn)單地說(shuō)Makefile就是一個(gè)包含一堆有條理的gcc/g++編譯命令的文件,便于提高開(kāi)發(fā)者的工作效率。
Makefile是需要開(kāi)發(fā)者自己手寫(xiě)的。
那之前可以通過(guò)在終端輸入gcc/g++命令來(lái)編譯項(xiàng)目,現(xiàn)在有了Makefile,又要怎么用呢?
這就講到Make工具了。

3.Make

(還是簡(jiǎn)單地說(shuō)吧,)Make工具就是“讀取”并執(zhí)行Makefile文件中的編譯指令,從而進(jìn)行項(xiàng)目編譯。

4.CMakelists

當(dāng)項(xiàng)目非常龐大,目錄結(jié)構(gòu)非常復(fù)雜時(shí),手寫(xiě)Makefile就是一件非常恐怖的事情了,你需要在不同的目錄底下寫(xiě)不同的Makefile,這可能有非常多個(gè)。
這時(shí)候就有CMakelists來(lái)拯救開(kāi)發(fā)者了。CMakelists可以通過(guò)更簡(jiǎn)單的寫(xiě)法來(lái)生成對(duì)應(yīng)的Makefile文件。
怎么生成呢?就是寫(xiě)好CMakelists.txt之后,通過(guò)CMake工具生成。

5.CMake

類似Make工具的功能,CMake工具就是“讀取”并執(zhí)行CMakelists.txt文件中的語(yǔ)句,來(lái)生成對(duì)應(yīng)的Makefile。然后開(kāi)發(fā)者就可以通過(guò)Make工具來(lái)“執(zhí)行”Makefile了。


CMake是一種跨平臺(tái)編譯工具,比make更為高級(jí),使用起來(lái)要方便得多。CMake主要是編寫(xiě)CMakeLists.txt文件,然后用cmake命令將CMakeLists.txt文件轉(zhuǎn)化為make所需要的makefile文件,最后用make命令編譯源碼生成可執(zhí)行程序或共享庫(kù)(so(shared object)).它的作用和qt的qmake是相似的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多