前言
最近突然想將開發環境轉移到Linux上,同時也準備閱讀些github上的開源程式碼,發現現在開源專案一般都是用cmake管理的。所以就在自己的虛擬機器上搗鼓。一開始我也不知道cmake是啥,後來透過折騰也大概知道其作用,它所做的事其實就是告訴編譯器如何去編譯連結原始碼。你也許想問不是有makefile嗎,為什麼還要它?這裡就牽涉到跨平台問題。在windows平台下是透過project檔案去管理這些的,如果不用cmake,那我們為window和linux系統就要寫對應的project檔案和makefile文件,這無疑是一件繁瑣的事,而我們只要寫一次cmake ,就可以用在各個平台,而且其文法也簡單。這就是所謂的「write once,use everywhere」。
安裝過程
1.首先去官網(https://www.php.cn/link/da97f65bd113e490a5fab20c4a69f586/)下載安裝包,選擇「XX.tar.gz」原始碼安裝包
#2.輸入以下指令
$tar -zxvf xx.tar.gz
$./bootstrap
$make
$make install
輸入
寫簡單的cmake
#使用cmake首先得有個CMakeList.txt文件,你需要把設定資訊寫在該文件中,然後透過cmake去處理該文件。
將設有下面一個main.cpp檔案
//main.cpp檔案
#include
using namespace std;
int main(){
cout
return 0;
}
這時候我們就可以寫個如下的CMakeList.txt檔案
#cmake最小需要版本
cmake_minimum_required(VERSION 2.8)
#專案名字
project(HELLOWORLD)
#包含原始程式,即把給定目錄下的來源程式複製給變數DIR_SRC
aux_source_directory(DIR_SRC ./)
#生成程式
add_executable(helloworld ${DIR_SRC})
然後執行如下命令
$mkdir build
#$cd build
$cmake ..
$make
$./helloworld
這樣就編譯好程式並且執行。
新增靜態庫或動態庫
而假設我們程式用到了在/usr/lib下的靜態函式庫libmy.a,那就需要加入以下兩個指令
#庫所在位置
link_directories(/usr/lib)
#程式編譯時候連結函式庫
target_link_libraries(helloworld my)
以上是使用ubuntu安裝cmake及其簡單使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!