inux下安裝軟體的原始碼包很多都需要使用cmake進行編譯,因此需要我們先給linux系統安裝cmake
你或許聽過好幾種 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 1 1ccmake 和 cmake 的區別在於前者提供了乙個互動式的介面。。其中, path 是 cmakelists.txt 所在的目錄。
3、使用 make 命令進行編譯。
開啟**找到最新版本的位置。
一般開放源**軟體都會有兩個版本發布:
source distribution 是源**版,你需要自己編譯成可執行軟體。
binary distribution是已經編譯好的可執行版,直接可以拿來用的。
我現在所用的這台是64位,因此在cmake安裝包的**中選擇binary distribution下的linux x86_64下的cmake-3.10.0-rc4-linux-x86_64.tar.gz壓縮包。
3、解壓。
[root@xjfw3 ~]# tar -zxvf cmake-3.10.0-rc4-linux-x86_64.tar.gz
4、重新命名
把解壓後的cmake-3.10.0-rc4-linux-x86_64目錄該名為cmake。
[root@xjfw3 ~]# mv cmake-3.10.0-rc4-linux-x86_64 cmake
5.編輯.bash_profile:
找到export path=這些行,在這些行的後面新增:/ruanjian/cmake/bin,從而設定環境變數。
輸入完畢儲存[root@xjfw3 ~]# vi .bash_profile
#.bash_profile
#get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi#user specific environment and startup programs
export path=$path:$home/ruanjian/cmake/bin
6、讓設定的環境變數在當前命令頁面立即生效:
source ~/.bash_profile
備註:若要讓設定的環境變數在其他頁面也有效,需要重啟計算機7、檢視環境變數的值:
echo $path
8.檢視版本,測試是否安裝成功。結果是:cmake version 3.10.0(安裝cmake成功!)[root@xjfw3 ~]# cmake --version
1、開啟terminal(終端)
2、輸入:vi ~/.bash_profile
3、o按鍵進入編輯
4、設定path:export path=pat
h:path:
path
:home/ruanjian/cmake/bin:
5、esc 按鍵停止編輯
6、shift+: 出現:後輸入命令
7、輸入::wq //儲存並退出vi w:儲存;q:退出
8、enter按鍵
9、修改立即生效:source ~/.bash_profile
10、檢視環境變數的值:echo $path
1、編寫main.c,如下,
2、然後在main.c相同目錄下編寫cmakelists.txt,內容如下#include int main(void)
第一行意思是表示cmake的最低版本要求是2.8,我們安裝的是3.10.2;cmake_minimum_required (version 2.8)
project (demo)
add_executable(main main.c)
第二行是表示本工程資訊,也就是工程名叫demo;
第三行表示最終要生成的elf檔案的名字叫main,使用的原始檔是main.c
在終端下切到main.c所在的目錄下,然後輸入以下命令執行cmake
cmake .
可以看到成功生成了makefile,還有一些cmake執行時自動生成的檔案。
3、然後在終端下輸入make並回車
make
4、可以看到我們需要的檔案main也成功生成了,然後執行main,
./main
參考
1、關於bash_profile的配置
2、linux下安裝cmake方法
3、linux下cmake簡明教程
4、超詳細的cmake教程
Linux下cmake的安裝
ubuntu系統下 sudo apt get autoremove cmake但是此句指令是針對於通過sudo apt get install cmake 安裝的使用者。如果是從原始碼安裝,則首先到cmake的安裝目錄下找到install manifest.txt檔案,該檔案儲存了所有cmake的附...
Linux下CMake 安裝教程
cmake是乙個跨平台的自動化建構系統 其使用乙個名為 cmakelists.txt 的檔案來描述構建過程,可以產生標準的構建檔案,如 unix 的 makefile 或windows visual c 的 projects workspaces 檔案 cmakelists.txt 需要手工編寫,也...
Linux下安裝和使用cmake
sudo tar zxvf cmake 3.8.2.tar.gz 2 進入解壓縮後的資料夾中,依次輸入 sudo bootstrap sudo make sudo make install 3 安裝檢查 輸入命令,cmake version 若出現對應cmake的版本,則說明安裝成功,一般預設安裝在...