Linux下使用CMake編譯程式

2021-08-15 01:28:04 字數 1328 閱讀 2913

參考:

你或許聽過好幾種 make 工具,例如 gnu make ,qt 的 qmake ,微軟的 ms nmake,bsd make(pmake),makepp,等等。這些 make 工具遵循著不同的規範和標準,所執行的 makefile 格式也千差萬別。這樣就帶來了乙個嚴峻的問題:如果軟體想跨平台,必須要保證能夠在不同平台編譯。而如果使用上面的 make 工具,就得為每一種標準寫一次 makefile ,這將是一件讓人抓狂的工作。

cmake就是針對上面問題所設計的工具:它首先允許開發者編寫一種平台無關的 cmakelist.txt 檔案來定製整個編譯流程,然後再根據目標使用者的平台進一步生成所需的本地化 makefile 和工程檔案,如 unix 的 makefile 或 windows 的 visual studio 工程。從而做到「write once, run everywhere」。顯然,cmake 是乙個比上述幾種 make 更高階的編譯配置工具。一些使用 cmake 作為專案架構系統的知名開源專案有 vtk、itk、kde、opencv、osg。

linux 平台下使用 cmake 生成 makefile 並編譯的流程如下:

1.編寫 cmake 配置檔案 cmakelists.txt 。

2.執行命令 cmake path 或者 ccmake path 生成 makefile 其中, path 是 cmakelists.txt 所在的目錄。

ccmake 和 cmake 的區別在於前者提供了乙個互動式的介面。

#include

int main()

cmakelists.txt:
cmake_minimum_required

(version

2.8)

project

(test)

add_executable

(test main.cpp)

在mian.cpp資料夾下建立build資料夾

開啟terminal

e@ubuntu

:~ cd ./build

e@ubuntu

:~ cmake ..

e@ubuntu

:~ ./test

hello

linux !

cmake 後的引數是cmakelist.txt的路徑,而其生產的中間檔案是在使用cmake的路徑下,為了能使原始檔和中間檔案分開,新建build檔案是極好的,在build中輸入cmake,」..」表示build路徑的上一層路徑。

Linux環境下使用CMake編譯程式

mkdir build cd build cmake g unix makefiles make d巨集名 on,設定option開關 dcmake build type debug 新增除錯資訊 方法一 要在呼叫add x指令前設定該變數,否則不起作用 set cmake install rpat...

Linux下Clion編譯Cmake報錯的解決方案

前段時間,在linux下安裝了乙個c 開發的神奇,由jetbrain公司開發的ide clion。之所以稱clion為神器的原因是因為,在linux下沒有比這款ide更強大的開發工具了。然後通過bash命令,啟動clion,開始了clion下的第乙個程式,心情很激動。但是,就在我寫完開始build的...

Linux下cmake使用簡介

cmake好像都說比直接寫makefile牛一點,因為它可以自動生成makefile。專門針對檔案比較多的情況,要不是這幾天在用別人的 一大堆,我覺得用makefile也夠了,但是據說linux程式設計師必備技能啊,所以還是要學學這麼高階的東西。在源 目錄src中建立cmakelists.txt檔案...