CMake簡單使用

2021-08-13 19:55:44 字數 2189 閱讀 2390

先說一下背景

最後整個過程表象上就成了,我有了源**後,寫乙個cmakelists.txt就可以編譯鏈結生成程式了。

舉個簡單栗子:

假如有個源**helloslam.cpp:

#include

int main()

好,同資料夾,我們編寫上cmakelists.txt文件:

#cmakelists.txt

cmake_minimum_required(version 2.8)

project(helloslam)

add_executable(helloslam helloslam.cpp)

這裡簡單的說一下cmakelists的語法:

#號行是注釋。

#要求cmake最低版本

cmake_minimum_required(version 2.8)

#專案名稱起名為helloslam

project(helloslam)

#生成可執行檔案,第乙個引數為要生成的可執行檔名稱,第二個是源**。

add_executable(helloslam helloslam.cpp)

有了cmakelists.txt文件後,此時資料夾中是這樣的:

ok,沒啥問題,很乾淨~

此時,我們在終端,cd進test目錄,並cmake當前資料夾:

第一、資料夾中的cmakelists.txt文件是告訴cmake如何操控當前資料夾下的檔案!!!也就是上方,cmakelists.txt在test資料夾中這樣子。

第二、終端中cmake指令後的目錄是指要對哪個資料夾進行操作!可以是任何乙個包含有cmakelists.txt文件的資料夾!也就是上方終端所示的,對當前資料夾進行cmake操作。

第三、cmake在**生成一堆檔案跟你在什麼目錄下執行cmake操作有關!也就是上方終端所示的:~文件/test此資料夾下生成一堆中間檔案。

總的來說就是,這三個位址之間沒有什麼卵關係,你可以盡情的分開來操作。比如我可以在test1下去cmake test2。只要test2中有cmakelists.txt就好,然後生成的一堆檔案就放在test1 中了。

好,繼續,上一步cmake之後呢?我們看看資料夾:

是不是多了一堆東西?有cmakefiles資料夾、cmakecache.txt文件、cmake_install.cmake文件、makefile文件。這裡最重要的就是這個

makefile了。

然後繼續在終端make:

此時的make會利用上方生成的makefile去編譯鏈結。最後生成可執行檔案。

也要注意就是make不接目錄,就是操控的當前資料夾,而且生成的可執行檔案也是在當前資料夾!

make完之後,資料夾是這樣:

就比上一步多了個齒輪圖示的可執行程式:helloslam

當然,這種方式並不是最常用的,最常用的是:

mkdir build

cd build

cmake ..

make

就是在資料夾中鍵乙個build資料夾,讓產生的中間檔案都在其中,最後生成的可執行檔案也在裡面,其實也就是利用了上面三個位址沒啥關係這個特性:

test資料夾是這樣的:

build資料夾是這樣的:

cmakelists.txt指令和具體寫法後面再說。。。

cmake簡單使用

cmake是乙個跨平台的編譯 build 工具,可以用簡單的語句來描述所有平台的編譯過程 cmake 生成makefile make 生成可執行檔案 main.cpp include using namespace std int main include show.h src show.cpp m...

CMake 簡單使用

1.介紹 cmake可實現跨平台編譯,是一種優秀的編譯配置工具。2.linux下的cmake編寫demo 1 建立工程目錄cmakedemo 2 編寫c c main.c includeint main 3 編寫cmakelists.txt檔案 cmake 最低版本號要求 cmake minimum...

CMake 簡單教程

sudo add apt repository ppa george edison55 cmake 3.x sudo apt get update sudo apt get install cmake更多變數查詢位址 project的名稱 project caffe framework 最低版本限制...