三 使用 CMAKE 編譯工程

2021-08-08 03:27:51 字數 1473 閱讀 3336

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生成相應的工程檔案。...