導航:首頁 > 源碼編譯 > cmake編譯opencv

cmake編譯opencv

發布時間:2022-01-16 18:53:07

❶ 如何用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里的內容再羅列出來:

  1. 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怎麼配置opencv

首先,我想說的是CMake的作用,每個編譯器在調用頭文件的時候都需要編譯器配置好讀取頭文件(*.h)對應的(*.c||*.cpp)的路徑,就像調用math.h你得告訴編譯器對應的math.c要去什麼地方尋找,但是新下載的OpenCV編譯器是不知道相應的頭文件還有lib文件要去哪裡找的,所以程序猿們可以有以下兩種方案:
1. 每次創建一個工程,找到調用文件的配置選項,然後手動添加,告訴編譯器cv.h在哪,各種庫文件(*.lib)文件在哪,當然既然涉及到系統的問題,少不了要去環境變數配置一下系統設置,不過配置環境變數僅僅用一次就可以了。
2. 為了省去每次創建工程都需要手動配置路徑的麻煩,用CMake可以將Opencv的相關文件在哪裡「永久地」告訴編譯器,當然代價就是……失敗幾率很大(反正我總是配不好,一步出問題就會很蛋疼)

❸ 怎麼用cmake編譯opencv源代碼中的常式

你機子的某個盤里建一個新的文件夾,如我這里的完整路徑是:D:\CMake\CMake-Study\HelloCMake; 然後在HelloCMake文件夾里建立一個HelloCMake.cpp文件,裡面的代碼如下: #include int main() { std::cout

linux下opencv-2.4.13要用哪個版本的cmake來進行編譯

1.下載然後解壓安裝壓縮

unzip opencv-2.4.13.zip

2. 進入剛解壓的文件夾,建立release文件夾

cd opencv-2.4.13mkdir release

3. 安裝一下必須的依賴庫

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

4. 進入release文件夾,用cmake編譯OpenCV的源碼,把lib安裝到/usr/local目錄下

cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

5. 安裝

sudo make install

❺ cmake編譯opencv總是出錯 求助啊

是你的編譯器版本不對, You probably need to select a different build tool.
在點擊configure時,會出來一個選擇編譯器的框,你選一個你機器里有的編譯器就可以了。

❻ 為什麼要使用CMake+VS編譯OpenCV的源碼

使用opencv需要編譯源碼,得到庫文件。可以用cmake構建項目後編譯,也可以直接用官方提供的編譯好的版本。
官方提供的編譯庫一般只是標准版本,可能與某些庫並不兼容,比如官方提供的編譯好的版本與opengl就不兼容,這時就只能自己構建項目後編譯。
在用cmake生成工程文件的時候,設置當中有WITH_OPENGL,WITH_QT等選項,你想支持哪個庫只需要選擇即可。
當然,一般使用的話,用官方提供的庫即可。OpenCV2.3.1版本就提供編譯好的庫,可以直接設置使用

❼ Opencv 編譯好的和用Cmake生成的有什麼不同呢 Cmake是什麼用的 通俗些最好了,謝謝!

Cmake是一個make工具,它可以根據makefile文件來調用你和編譯器進行多個文件的編譯和鏈接。用Cmake生成的就是使用你本地的編譯器來編譯生成那些文件。

❽ cmake編譯opencv程序的時候怎麼靜態編譯

使用opencv需要編譯源碼,得到庫文件。可以用cmake構建項目後編譯,也可以直接用官方提供的編譯好的版本。 官方提供的編譯庫一般只是標准版本,沒有附加某些庫,比如tbb等,要想讓opencv使用tbb等庫,就只能自己構建項目後編譯。

❾ cmake編譯不了opencv,求解決,截圖如下。

哥們兒,

  1. 輸入cd .. # 這條command切換到opencv-2.4.13文件目錄下

2.mkdirbuild

3.cdbuild

然後繼續你最後一條命令。

閱讀全文

與cmake編譯opencv相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26