2017.09.08——使用cmake編譯工程
學習使用cmake編譯工程
一、在終端內編譯:
需要首先簡單介紹cmakelists的命令列: 例:
#宣告要求的 cmake 最低版本
cmake_minimum_required(version 2.8 )
#宣告乙個 cmake 工程
project(helloslam )
#設定編譯模式
set(cmake_build_type "debug" )
#新增乙個可執行程式
#語法:add_executable( 程式名源**檔案 )
add_executable(helloslam helloslam.cpp )
#新增乙個庫
add_library(hello libhelloslam.cpp )
#共享庫
add_library(hello_shared shared libhelloslam.cpp )
add_executable(usehello usehello.cpp )
#將庫檔案鏈結到可執行程式上
target_link_libraries(usehello hello_shared )
—————————————————————————————
下面是在終端內常用的編譯指令: 例:
# 進入到cmakelists.txt 所在的目錄
cd [path-to-project]
# 在cmakelists.txt 所在目錄下新建名為build的子目錄
mkdir build
# 進入到build
cd build
# 使用cmake執行上一層的cmakelists.txt(後面有兩個..因此為上一級目錄,同一目錄下為cmake . ) 注意cmake 與後面的.中間有一空格
cmake ..
make
—————————————————————————————
生成可執行檔案後,用"sh"來執行檔案,或者"./"
比如你在/usr/temp資料夾中有乙個可執行檔案"flash"
你可以在終端中輸入 sh /usr/temp/flash
或者進入資料夾 cd /usr/temp 然後執行: ./flash
如果編譯的是庫檔案,例如pangolin、opencv的話,編譯生成的是安裝包,使用以下命令安裝:
sudo make install
參考:二、ide進行編譯執行
可以使用kdevelop進行編譯,該ide支援原生cmake。「工程-》開啟/匯入工程」開啟cmakelists.txt 快捷鍵f8。一般來講直接就可以編譯,執行生成的檔案時需要簡單的設定:「執行」-》「當前啟動配置」裡選擇自己新建的對應工程的配置,再點「可執行檔案」,就可以看見執行結果了。
參考:
cmake編譯工程列子
理解 cmake是乙個跨平台編譯器工具,它可以生成各種編譯檔案。本文主要是將如何通過cmake來編譯c 工程。它採取out of source 即中間產物與原始碼分離 方式。在c 中,可以認為cmake是將所有原始檔.h和.cpp都放在同乙個目錄下,來進行編譯和鏈結,最終生成工程。1 工程目錄結構 ...
CMake 工程呼叫 Makefile 編譯專案
本文主要介紹如何將乙個依賴 makefile 專案 midg 移植到 cmake 上。首先介紹專案檔案結構,檔案主要由三個目錄組成 3rdparty include src其中,3rdparty中包含兩個外部函式庫,即metis與parmetis,生成兩個靜態鏈結庫libmetis.a與libpar...
使用CMake管理工程
1.什麼是cmake?請參考 簡單來講,cmake是一套跨平台的工程構建工具。傳統的 nix下生成makefile的工具主要是autotools系列。這些工具根據不同的系統可以生成相應的makefile。相比於傳統的autotools系列工具。cmake可以根據不同平台下的ide生成相應的工程檔案。...