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

首先,這些東西都是跟編譯項(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++編譯命令的文件,便于提高開發(fā)者的工作效率。
Makefile是需要開發(fā)者自己手寫的。
那之前可以通過(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í),手寫Makefile就是一件非常恐怖的事情了,你需要在不同的目錄底下寫不同的Makefile,這可能有非常多個(gè)。
這時(shí)候就有CMakelists來(lái)拯救開發(fā)者了。CMakelists可以通過(guò)更簡(jiǎn)單的寫法來(lái)生成對(duì)應(yīng)的Makefile文件。
怎么生成呢?就是寫好CMakelists.txt之后,通過(guò)CMake工具生成。

5.CMake

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.安裝 $sudo apt-get install cmake 2.示例:簡(jiǎn)單的文件目錄 sample |—...
    荷包蛋醬閱讀 29,916評(píng)論 0 15
  • CMake學(xué)習(xí) 本篇分享一下有關(guān)CMake的一些學(xué)習(xí)心得以及相關(guān)使用。 本文目錄如下: [1、CMake介紹] [...
    AlphaGL閱讀 12,445評(píng)論 11 79
  • 注:首發(fā)地址 1. 前言 當(dāng)在做 Android NDK 開發(fā)時(shí),如果不熟悉用 CMake 來(lái)構(gòu)建,讀不懂 CMa...
    cfanr閱讀 24,803評(píng)論 1 53
  • 周五早上,出門前佳爸問(wèn)我,書包背不背了?我毫不猶豫的回答:不拿了,反正也基本用不上。接著就是各自開車上班,我送佳寶...
    苗春麗閱讀 369評(píng)論 1 2
  • 沒(méi)錢考慮融資 股份制 學(xué)技術(shù)要干什么 要不學(xué)500年也不夠
    A_楊彥明閱讀 231評(píng)論 0 0

友情鏈接更多精彩內(nèi)容