下載了cmake還要下載makefile嗎(c++新手)?元極2021-06-01 18:42:04

CMake會自動生成makefile,makefile需要make程式來執行,不過vs有nmake,這個也可以執行makefile,但好像語法略有不同

下載了cmake還要下載makefile嗎(c++新手)?吳詠煒2021-06-01 22:24:47

首先,問題有點問題哈。“下載makefile”這句話有點不通:Makefile是一種構建配置檔案,它是跟著專案走的。如果談到下載,那應該是下載Make吧。

CMake和Make(通常是GNU的版本)都是工具,它們使用不同的格式來維護工程的構建資訊。Makefile是Make使用的檔名,可以看作是一種比較底層的、類似於C的東西。CMake使用的檔案叫CMakeLists。txt,是一種更抽象的格式,可以更容易寫出跨平臺、跨編譯器的構建配置檔案。

你如果使用GitHub上的專案,那專案就說明了會使用什麼工具來構建(如果沒說,你也可以檢查一下它是不是提供了CMakeLists。txt或Makefile)。鑑於你說你在Windows上使用Visual Studio,那大機率你不需要Make。CMake可以生成Visual Studio使用的工程檔案(也可以生成供Make使用的工程檔案;還有其他多種格式)。

具體怎麼做,還是要看專案的文件,以及CMake的文件。從下面我的專案裡,你可以看到一個較為簡單的專案的CMake配置檔案,以及簡單的構建過程說明。

adah1972/geek_time_cpp

下載了cmake還要下載makefile嗎(c++新手)?大川搬磚2021-06-03 23:32:08

不需要下載。而且,你用的是 visual studio,makefile也不需要,visual studio會給你你想要的可執行程式(。exe)和庫(。dll)。

下載了cmake還要下載makefile嗎(c++新手)?餘朔鈺2021-06-06 11:56:17

只用下載cmake,甚至新的vs都集成了cmake。

下載了cmake還要下載makefile嗎(c++新手)?rayhunter2021-06-08 22:58:18

不用,下載CMake與VS就可以了,裝好CMake測試一下命令是否有效就可以了,就可以用Cmake自動生成VS工程。

我說一下為什麼github是這樣,大部分傳github並公開程式碼的都是程式設計大佬,深入瞭解編譯過程與構建方法,知道什麼是該上傳的什麼是不該上傳的,減小檔案佔用。他們會考慮使用者IDE以及平臺不同帶來的問題,比如光windows下就有那麼多VS版本且不一定相容,限定一種VS或者Xcode都不利於程式碼傳播,還有一些不完全相關的工程檔案,還要考慮Linux,MAC使用者都通用,需要一種萬金油,CMake就是一個很好的打通方法,且引入工程相關檔案很小,當然有點弊端,要略為學習一下,不像VS或者XCode,點選就可以用。

rayhunter:CMake常用用法