CMake的安裝與編譯

2021-10-24 08:44:59 字數 2654 閱讀 7685

你或許聽過好幾種 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」。

在linux環境下開啟網頁瀏覽器,輸入**:找到最新版本的位置。

使用原始碼安裝

tar -xvf cmake-3.14.5.tar

cd cmake-3.14.5

./bootstrap

make

make install

編譯時提示 could not find openssl 的解決方法:

apt-get install libssl-dev
cmake 會預設安裝在 /usr/local/bin 下面

查詢cmake --version

cmake version 3.14.5

1、編寫cmakelists.txt檔案

#1.cmake verson,指定cmake版本 

cmake_minimum_required(version 3.2)

#2.project name,指定專案的名稱,一般和專案的資料夾名稱對應

project(test_sqrt)

#3.head file path,頭檔案目錄

include_directories(include)

#4.source directory,源檔案目錄

aux_source_directory(src dir_srcs)

#5.set environment variable,設定環境變數,編譯用到的原始檔全部都要放到這裡,否則編譯能夠通過,但是執行的時候會出現各種問題,比如"symbol lookup error ***xx , undefined symbol"

set(test_math $)

#6.add executable file,新增要編譯的可執行檔案

add_executable($ $)

#7.add link library,新增可執行檔案所需要的庫,比如我們用到了libm.so(命名規則:lib+name+.so),就新增該庫的名稱

target_link_libraries($ m)

2、在終端,分別輸入命令

cmake .

make

./生成的檔名

具體的請檢視超詳細的cmake教程

安裝後, 確認是否安裝成功

它的結構如下

我們如何編譯呢?

使用cmake-gui開啟工程並生成vs工程檔案

如圖,在"where is the source code"文字框中,輸入或者「browse」到源**的根目錄(包含cmakelists.txt的資料夾)

單擊螢幕下方的'configure'按鍵。

選擇你的目標編譯平台,例如"visual studio 2017"

當系統提示是否建立構建目錄的時候選擇'ok'

等待configure執行結束

螢幕上現在會有一些配置設定,並用紅色標記(這是用來指出你是第一次看到他們)。你可以在這裡手動配置這些選項,不過現在我們只需要再次選擇'configure'。

等執行結束了選擇"generate"按鍵。

構建檔案將會在你之前選擇的資料夾下面產生,這時候就可以退出cmake來進行真正的編譯工作。

以上就是使用cmake的過程!在你之前選擇的資料夾中,你會發現有一系列工程檔案,現在只需要找到並開啟主專案工程檔案(例如zltoolkit.sln)。

參考:

編譯安裝cmake

1.為什麼用cmake?mysql部分版本安裝前編譯需要用軟體cmake,而不是我們之前通常使用的make!簡言之,就是用了cmake編譯工作可以在另乙個指定的目錄中而非原始碼目錄中進行,原始碼目錄不受任何一次編譯的影響,因此在同乙個原始碼樹上可以進行多次不同的編譯,如針對於不同平台編譯,可以跨平台...

cmake 編譯安裝mysql

目錄yum install y gcc gcc c autoconf automake bison libtool lrzsz make ncurses devel 安裝cmake 可以使用yum安裝yum y install cmake 也可以使用原始碼安裝 wget tar zxvf cmake...

cmake編譯安裝mysql5 5

1.安裝編譯原始碼所需的工具和庫 cmake 2.8.8.tar.gz mysql 5.5.32.tar.gz yum install gcc gcc c ncurses devel perl 2.檢視版本資訊 root dbsrv01 soft more etc redhat release ce...