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...