ubuntu下cmake管理c 工程

2021-09-19 09:01:31 字數 1940 閱讀 6734

cmake 是乙個跨平台的自動化建構系統,它使用乙個名為 cmakelists.txt 的檔案來描述構建過程,可以產生標準的構建檔案,如 unix 的 makefile 或windows visual c++ 的 projects/workspaces 。檔案 cmakelists.txt 需要手工編寫,也可以通過編寫指令碼進行半自動的生成。在 linux 平台下使用 cmake 生成 makefile 並編譯的流程如下:

(1)安裝cmake,sudo apt-get install cmake 

(2)編寫 cmakelists.txt。 

(3)執行命令「cmake path」生成 makefile ( path是cmakelists.txt 所在的目錄 ) 

(4)使用 make 命令進行編譯。

1)建立乙個slambook資料夾:

mkdir slambook
2)進入資料夾後,建立乙個cmakelists.txt檔案:

cd slambook

touch cmakelists.txt

3)開啟的.txt檔案,並在其中輸入下面內容:

#開啟檔案

vim cmakelists.txt

#宣告要求的 cmake 最低版本

cmake_minimum_required(version 2.8)

#宣告乙個 cmake 工程

project( helloslam )

#新增乙個可執行程式

#語法:add_executable(程式名 源**檔案)

add_executable( helloslam helloslam.cpp)

4)建立乙個helloslam.cpp檔案:

cd slambook

touch helloslam.cpp

5) 開啟helloslam.cpp檔案,並在其中輸入下面內容:

#開啟檔案

vim helloslam.cpp

#includeusing namespace std;

int main(int argc,char** ar**)

此時資料夾下的程式檔案如下所示:

cmakelists.txt中的內容如下所示:

# 宣告要求的 cmake 最低版本

cmake_minimum_required( version 2.8 )

# 宣告乙個 cmake 工程

project( helloslam )

# 設定編譯模式

set( cmake_build_type "debug" )

# 新增乙個庫

add_library( hello libhelloslam.cpp )

# 共享庫

add_library( hello_shared shared libhelloslam.cpp )

# 新增乙個可執行程式

# 語法:add_executable( 程式名 源**檔案 )

add_executable( usehello usehello.cpp )

# 將庫檔案鏈結到可執行程式上

target_link_libraries( usehello hello_shared )

ubuntu下安裝cmake及cmake簡單使用

前言 最近突然想將開發環境轉移到linux上,同時也準備閱讀些github上的開源 發現現在開源專案一般都是用cmake管理的。所以就在自己的虛擬機器上搗鼓了一天。一開始我也不知道cmake是啥,後來通過折騰也大概知道其作用,它所做的事其實就是告訴編譯器如何去編譯鏈結源 你也許想問不是有makefi...

ubuntu下cmake設定opencv鏈結庫

問題1 在編譯視覺slam十四講第九講的時候,出現如下錯誤 undefined reference tocv string allocate unsigned long cmakefiles run vo.dir run vo.cpp.o in functioncv mat mat 詳細錯誤如下圖 ...

ubuntu下更新cmake版本

1 解除安裝當前舊版本的cmake 檢視當前的cmake版本 cmake version 若版本較舊,執行 sudo apt remove cmake,解除安裝舊版的cmake 若當前系統無cmake,可跳過這一步。2 安裝依賴 sudo apt install build essential li...