CMake Linux下CMake示例教程

2021-09-21 02:08:02 字數 1841 閱讀 9050

cmake是乙個跨平台的、開源的構建工具。cmake是makefile的上層工具,它們的目的正是為了產生可移植的makefile,並簡化自己動手寫makefile時的巨大工作量.目前很多開源的專案都可以通過cmake工具來輕鬆構建工程。

sudo apt-get install cmake //ubuntu

sudo pacman -s cmake //manjaro

cmake -version //檢視cmake是否安裝成功

這裡利用src_list變數儲存此目錄下所有原始檔(cpp檔案)。若想檢視變數內容可以用message語句列印。

cmake_minimum_required (version 2.8)

project (demo)

aux_source_directory(. src_list)

message($)

add_executable(main $)

cmake_minimum_required (version 2.8)

project (demo)

add_executable(main main.cpp server/tree.cpp)

cd build

cmake ../

make

cmake_minimum_required (version 2.8)

project (demo)

set(executable_output_path $/bin) #指明最後可執行檔案位置在bin資料夾

include_directories($/include) #指明頭檔案目錄在include目錄中。

# 此時,cpp檔案中如果要引用標頭檔案,直接寫入include中的檔名即可。因為已經通過include_directories(../include)指明了標頭檔案存放位置,無需在寫標頭檔案相對與cpp檔案的相對路徑。(例如,include中有乙個tree.hpp檔案。在src的main.cpp中,直接include"tree.hpp"即可找到標頭檔案。而無需使用include"../include/tree.hpp")

aux_source_directory(src/. src_list) #新增所有原始檔

add_executable(main $) #編譯所用到的檔案

vscode在UBUNTU下使用CMAKE編譯

開啟乙個含有cmakelists.txt的資料夾 在.vscode要建立三個json檔案才能對cmake工程進行編譯和除錯,分別是c cpp properties.json,launch.json和tasks.json c cpp properties.json檔案 ctrl shift p,輸入c...

如何優雅的公升級自己Ubuntu的CMake

有時候在編譯東西的時候,會發現自己的cmake版本太低,比如下面這種情況 然後就上網搜各種教程,搜到 sudo apt get autoremove cmake,然後得到這種情況 你如果不細看的話,就將你之前編譯過的ros等其他包都刪掉了。細思極恐。萬一看都不看直接y了,可有的你後悔。1 insta...

cmak交叉編譯出現連線錯誤及rpath講解

交叉編譯時經常出現 not found try using rpath or rpath link 這樣的錯誤 因為我們是交叉編譯所以缺少庫是經常發生的事。特別是編一些依賴比較多的庫的時候,比如opencv等等 出現這個肯定是交叉編譯環境裡面沒有相應的庫。那麼此時我們可以設定rpath 讓程式先編譯...