Cmake簡單例項

2021-08-02 20:19:32 字數 1905 閱讀 1054

cmake注意點:命令用小寫,變數用大寫,沒有強制的要求,可以形成風格!

cmake的執行就是這麼簡單,其難點在於如何編寫cmakelists.txt檔案,下面結合例子簡單介紹cmakelists.txt的編寫,看下面這個cmakelists.txt

#project name

project(test_math)

#head file path

include_directories(include)

#source directory

aux_source_directory(src dir_srcs)

#set environment variable

set(test_math $)

#set extern libraries

set(libraries libm.so)

#add executable file

add_executable(../bin/bin $)

#add link library

target_link_libraries(../bin/bin $)

或者用下面這個cmakelists.txt

#project name

project(test_math)

#head file path

include_directories(include)

#source directory

aux_source_directory(src dir_srcs)

#set environment variable

set(test_math $)

#add executable file

add_executable(../bin/bin $)

#add link library

target_link_libraries(../bin/bin m)

這是乙個測試數學函式的程式的cmakelists.txt,"#"後面為注釋的內容,cmake的命令全部為大寫

第2行指定生成的工程名為test_math

第4行指定頭檔案目錄為include

第8行指定源檔案目錄為src,並將其賦值給環境變數dir_srcs

第10行設定環境變數test_math的值為環境變數dir_srcs的值,此處用於顯示如何用環境變數對環境變數進行賦值

第14行將數學函式庫賦值給環境變數libraries,當然,可以不用這個環境變數,而在後面直接使用該庫名

第18行用於指定生成檔案,將環境變數test_math目錄下的所有檔案編譯生成../bin目錄下的可執行檔案bin

第20行指定../bin/bin執行時的鏈結庫為環境變數libraries的值-libm.so

下面給出原始檔

/src/main.c:

#include#include"../include/a.h"

int main()

/src/a.c

#include"../include/a.h"

double get_sqrt(double var1)

/include/a.h

#ifndef  a_file_header_inc

#define  a_file_header_inc

#includedouble get_sqrt(double var1);

#endif

將cmakelists.txt放在當前目錄下,執行cmakelists.txt

$> cmake .

$> make

即可生成可執行檔案,在目錄/bin下的bin檔案,好了執行看其效果是否和所想一樣。

CMake 簡單教程

sudo add apt repository ppa george edison55 cmake 3.x sudo apt get update sudo apt get install cmake更多變數查詢位址 project的名稱 project caffe framework 最低版本限制...

CMake簡單使用

先說一下背景 最後整個過程表象上就成了,我有了源 後,寫乙個cmakelists.txt就可以編譯鏈結生成程式了。舉個簡單栗子 假如有個源 helloslam.cpp include int main 好,同資料夾,我們編寫上cmakelists.txt文件 cmakelists.txt cmake...

cmake簡單使用

cmake是乙個跨平台的編譯 build 工具,可以用簡單的語句來描述所有平台的編譯過程 cmake 生成makefile make 生成可執行檔案 main.cpp include using namespace std int main include show.h src show.cpp m...