cmake教程內部編譯
『壹』 cmake怎麼編譯protobuf
protobuf 是google的一個開源項目,其源代碼在github上可以下載到,並且源碼都採用cmake來構建,所以我們可以把源碼下載到本地,然後了利用cmake構建本地工程,然後編譯.
『貳』 怎麼用CMake編譯freeglut
1、解開freeglut-3.0.0的壓縮包,用記事本打開目錄樹下的「README.cmake」文件,下載Binary distributions。
2、下載好,解開其壓縮包後,找到可執行文件,cmake-3.2.2-win32-x86/bin/cmake-gui.exe,運行之,
3、在兩個where後邊填上目錄樹的路徑(注意不是src的路徑,本文以R:/freeglut-3.0.0為例),點擊configure按鈕,彈出如下的對話框,從中選擇所需的開發環境:
4、這里支持的環境好多,選擇需要的環境,然後點擊Finish,它會開始檢查這個環境,然後給出一些配置選項:
5、從中修改靜態庫目標的安裝位置(本例安裝在R:/freeglut_static),勾掉不需要的選項(比如Demo、動態連接庫等),點擊Generate,即可生成工程。
6、打開工程後,找到工程設置,在此可以按照自己的需要修改一些配置,實際上絕大多數都不必動,有可能需要修改的也就是這么個地方:
7、這個按照自己的需要選擇單線程運行庫或是多線程運行庫,或是多線程的DLL版運行庫,主要是為了防止和別的庫或者別的工程的設置沖突。
然後批量編譯:
8、勾掉不必要的選項,比如MinSizeRel是在Release版本的基礎上,改成最小尺寸優化的版本;RelWithDebInfo是在Release版本的基礎上,添加調試信息的版本。這倆版本的可以不要。然後,點擊Rebuild All,編譯完就可以在安裝目錄下找到最終文件了。
『叄』 vs2017怎麼用內置CMAKE編譯opencv
使用opencv需要編譯源碼,得到庫文件。 可以用cmake構建項目後編譯,也可以直接用官方提供的編譯好的版本。 官方提供的編譯庫一般只是標准版本,可能與某些庫並不兼容, 比如官方提供的編譯好的版本與opengl就不兼容,這時就只能自己構建項目後編vs2017怎麼用內置CMAKE編譯opencv
『肆』 Windows平台cmake-gui應用,具體怎麼編譯求大神幫助
通過『開始』>『所有程序』>『CMake 2.』8>『CMake』來運行CMake(CMake-GUI)(這里假定在簡體中文Windows中運行2.8版本)
在"Where is the source code"文本框中,輸入或者「browse」到源代碼的根目錄
在"Where to build the binaries" 文本框中,輸入或者「browse」到輸出文件夾。
單擊屏幕下方的'Configure'按鍵。
選擇你的目標編譯平台,例如"Visual Studio 10 2010"
當系統提示是否創建構建目錄的時候選擇'Ok'
等待configure執行結束。
屏幕上現在會有一些配置設置,並用紅色標記(這是用來指出你是第一次看到他們)。你可以在這裏手動配置這些選項,不過現在我們只需要再次選擇'Configure'。
等運行結束了選擇"Generate"按鍵。
構建文件將會在你之前選擇的文件夾下面產生,這時候就可以退出cmake來進行真正的編譯工作。
『伍』 windows怎麼使用 cmakelist編譯
CMake是一個比make更高級的編譯配置工具,它可以根據不同平台、不同的編譯器,生成相應的Makefile或者vcproj項目。 通過編寫CMakeLists.txt,可以控制生成的Makefile,從而控制編譯過程。
『陸』 CMAKE怎麼編譯LAPACK
1. 首先去下載源代碼 2. 如果是Fortran寫的,參考,將源碼編譯成動態鏈接庫,記得下載幾個用來導出庫函數的頭文件;如果是C寫的,直接用VS編譯成靜態或者動態鏈接庫,需要注意的是,LAPACK函數的編譯需要多線程run time的支持; 3. 在程序中指定
『柒』 如何在Windows下通過Cmake編譯和使用PCRE
CMake是一個比make更高級的編譯配置工具,它可以根據不同平台、不同的編譯器,生成相應的Makefile或者vcproj項目。
通過編寫CMakeLists.txt,可以控制生成的Makefile,從而控制編譯過程。CMake自動生成的Makefile不僅可以通過make命令構建項目生成目標文件,還支持安裝(make install)、測試安裝的程序是否能正確執行(make test,或者ctest)、生成當前平台的安裝包(make package)、生成源碼包(make package_source)、產生Dashboard顯示數據並上傳等高級功能,只要在CMakeLists.txt中簡單配置,就可以完成很多復雜的功能,包括寫測試用例。
如果有嵌套目錄,子目錄下可以有自己的CMakeLists.txt。
總之,CMake是一個非常強大的編譯自動配置工具,支持各種平台,KDE也是用它編譯的,感興趣的可以試用一下。
准備活動:
(1)安裝cmake。
下載地址:
根據自己的需要下載相應的包即可,Windows下可以下載zip壓縮的綠色版本,還可以下載源代碼。
Windows下CMake的使用
(2)運行cmake的方法。(GUI、命令行)
CMake使用步驟:
運行GUI的cmake界面:
cmake-2.8.1-win32-x86\bin\cmake-gui.exe
Windows下CMake的使用
執行Configure:
運行之後,生成了如下文件:
Windows下CMake的使用
生成Makefile:
執行Generate之後生成如下文件:
Windows下CMake的使用
運行make進行編譯:
Windows下CMake的使用
編譯完成後,在build目錄生成Tutorial.exe,運行Tutorial.exe 25就可以看到運行結果:
Windows下CMake的使用
運行make install安裝程序:
Windows下CMake的使用
運行make test進行測試:
Windows下CMake的使用
通過cmake tutorial學習CMake配置方法
可以在源代碼的Tests/Turorial目錄中找到這個手冊對應的代碼。
Windows下CMake的使用
1、Step1。
(如果不知道如何使用cmake,以及如何使用編譯產生的Turorial.exe,可先看下前面「CMake使用步驟」的說明,它以Step4為例詳細介紹了使用過程,Step1的配置可能不夠完全,比如無法運行make install,無法運行make test,但可以參考。)
簡單的程序編譯。
(1)運行GUI的cmake,指定要編譯的源代碼路徑和二進制文件路徑(會自動創建)。
Windows下CMake的使用
(2)點擊Configure,配置成功後,再點擊Generate。
配置需要選擇合適的編譯器,雖然我安裝了VC2008,但沒有配置成功;選擇Unix Makefiles,配置成功,它自動找到了DevC++下的gcc.exe等編譯器。
Windows下CMake的使用
(3)在build3目錄執行make,就能夠編譯生成Turorial.exe了。
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>make
Linking CXX executable Tutorial.exe
[100%] Built target Tutorial
可以運行一下Turorial.exe:
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe
Tutorial.exe Version 1.0
Usage: Tutorial.exe number
D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe 4
The square root of 4 is 2
2、Step2
把子目錄編譯為庫,並且鏈接到最終的可執行文件。
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions) # 使得子目錄MathFunctions也能被編譯
# add the executable
add_executable (Tutorial tutorial.cxx)
target_link_libraries (Tutorial MathFunctions)
產生makefile:
在GUI上點擊Configure,之後Generate還是灰色,再次點擊Configure,Generate就可以點擊了。
編譯:
『捌』 如何用cmake 編譯OpenCV 3.
你機子的某個盤里建一個新的文件夾,如我這里的完整路徑是:D:\CMake\CMake-Study\HelloCMake; 然後在HelloCMake文件夾里建立一個HelloCMake.cpp文件,裡面的代碼如下: #include int main() { std::cout
『玖』 如何用cmake 編譯OpenCV 3.1.0的opencv
用cmake 編譯OpenCV 3.1.0的opencv:
建一個新的文件夾,完整路徑:D:CMakeCMake-StudyHelloCMake,
然後在HelloCMake文件夾里建立一個HelloCMake.cpp文件,裡面的代碼如下:
#include <iostream>
int main()
{
std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;
return 0;
}
然後在HelloCMake文件夾里建立一個CMakeLists.txt文件,注意文件名不能是別的,必須叫這個名字。裡面的內容如下:
cmake_minimum_required(VERSION 2.6)
project(HelloCmake)
add_executable(HelloCMake hellocmake.cpp)
接著在HelloCMake的同級目錄里建立一個新的文件夾,就叫做HelloCMake-bin,在我機子上的完整路徑是:D:CMakeCMake-StudyHelloCMake-bin,你可以針對自己的目錄路徑對號入座。
然後打開CMake程序,接著把包含CMakeLists.txt和HelloCMake.cpp文件的完整路徑給」where is the source code」,把最後建立的HelloCMake-bin目錄的完整路徑給」where to build the binaries」,然後按Cofigure,
Configure完了以後,再按Generate,直到所有的紅色選項都變成灰色為止。然後打開HelloCMake-bin,你會發現原來空的文件夾裡面自動生成了好多文件。
到此為止,工程構建完成,打開HelloCMake-bin目錄下的HelloCMake.sln,裡面有三個工程,分別是:ALL_BUILD;HelloCMake;ZERO_CHECK。這三個工程的大概作用如下(個人理解而已),HelloCMake就不用說了,自己要建立的那個工程;ALL_BUILD是管理整個項目的工程;ZERO_CHECK是實時監視CMakeLists.txt文件變化的工程,一旦CMakeLists.txt里的內容發生了任何變化,ZERO_CHECK就會告訴編譯器要重新構建整個工程環境。所以,你可以先把工程關掉,打開CMakeLists.txt文件,更改裡面的內容以後,把根據以上說的步驟走一遍CMake;你也可以在編譯器環境(如VS2008)中更改CMakeLists.txt文件,然後直接F7編譯工程。如果你選擇後者,你會發現所示的現象發生。
因為你改變了CMakeLists.txt的內容,工程的環境要重新構建、設置。所以你必須載入新的工程環境設置。點Yes,然後點Reload。重新載入設置過的工程環境。
另外一個經常看某些童鞋問的,就是當彈出所示的界面時要怎麼辦?能怎麼辦?界面上提示已經灰常清楚了,指定exe的路徑給它,然後點OK就可以了;出現這種情況的原因是你把沒有生成exe可執行文件的工程設為啟動工程了,你會發現ALL_BUILD這個工程名字是黑體顯示的,表示它是啟動工程;或者你把生成exe可執行文件的工程,如這里的HelloCMake右擊->設置為啟動工程,也不會出現所示的界面。
好,這些比較瑣碎的東西介紹完,我們一起來看看CMakeLists.txt裡面的代碼表示什麼意思,爭取每句代碼都作解釋,如果有不對的地方,一定要告訴我!
把CMakeLists.txt里的內容再羅列出來:
cmake_minimum_required(VERSION 2.6)
2. project(HelloCmake)
3. add_executable(HelloCMake hellocmake.cpp)
第1行,cmake_minimum_required(VERSION 2.6)這是對CMake版本的要求,基本上每個CMakeLists.txt文件里都會有這句代碼,cmake_minimum_required是cmake里的命令,可大寫小寫。VERSION這個關鍵字必須是大寫,而且不能省略;2.6就是CMake的版本號,現在的版本是2.8.3。
第2行,project(HelloCmake),project也是CMake的命令,裡面的參數HelloCMake是你要生成的工程的名字,換句話說就是生成的***.sln或者***.dsw等工程項目文件的名字。
第3行,add_executable(HelloCMake hellocmake.cpp),add_executable同樣是CMake的命令,鏈接有關的源文件,然後生成exe可執行文件,這是這個命令的作用。第一個參數是生成的exe文件的文件名,一般與project里的工程名一致,這樣編譯生成的文件就分別是HelloCMake.sln和HelloCMake.exe,當然也可以不一樣。Add_executable()後面的是一個參數列表,可帶多個要編譯的文件名,中間以空格或回車等隔開,如可以加入:
add_executable(HelloCMake hellocmake.cpp hellocmake.h)
這樣就把CMake里最常用的三個命令介紹完了,分別是cmake_minimum_required; project; add_executable等
『拾』 cmake怎麼編譯visual studio win32
點擊"configure"按鈕。選擇要使用的集成開發環境(IDE)。Windows系統選擇"Visual Stud
注釋:
即使您不進行交叉編譯,也必須規定一個工具鏈文件。
6
如果某些配置欄位為紅色,請再次點擊"configure"按鈕。所有欄位都應該為灰色。
點擊OK。
Windows系統下,在您的構建目錄里會生成一個可打開的.sln文件。
7
編譯範例項目。在Linux或Mac里,只需"cd"到構建目錄,並鍵入"make"。
注釋:
您可以隨時重置項目。操作時,刪除構建目錄的內容並重新啟動CMake。
請勿編輯Visual Studio Project,因為它是實時生成的(詳情請參見Cmake的程序說明書)。可以通過編輯Cmake文件來進行配置。