Mingw編譯最新版本的OpenCV代碼
Wikipedia,自由的百科全书
目錄 |
2012-10-22更新集成了OpenCV的CodeBlocks下載
如果你不想自己編譯庫,那麼這裡提供了一個集成編譯好的OpenCV的CodeBlocks,使用方法極度簡單
1.打開CodeBlocks
2.選擇Settings-Compiler and Debugger-linker settings-左下方的add
3.在彈出的視窗中,粘貼 下載的壓縮包根目錄下openCV-codeblock-add-dll.txt 裡面的內容
4.請確保使用的是我包內的MinGW,即Settings-Compiler and buggger-Toolchain excutables-Compiler's installation directory所指向的MinGW為下載包裡面自帶的MinGW(這點針對已經安裝過CodeBlocks的用戶所需要註意的
配置結束
百度網盤下載地址:
http://pan.baidu.com/share/link?shareid=87314&uk=3440383764
2012-10-15更新CMake MinGW Code::Blocks環境配置視頻教程
OpenCV在Codeblocks下的配置
優酷視頻地址:http://v.youku.com/v_show/id_XNDYxOTc5NDky.html
百度網盤共用: http://pan.baidu.com/share/link?shareid=83002&uk=3440383764
2011-03-16更新OpenCV2.x的編譯方法
OpenCV 2.x 版本的源代碼在MinGW下的編譯方法,請參考如下鏈接: OpenCV 2.1.0 + MinGW + Eclipse 特別要註意的是 videoinput.a 這個庫的更新。 另外,如果用CMake產生的makefile後,在opencv的build目錄下,通常是允許如下內容:
mingw32-make
上面的命令將編譯整個OpenCV庫 然後再運行
mingw32-make install
就會把相應的頭文件等內容安裝好。
下載最新版本的OpenCV源代碼
首先,請從 sourceforge 上面,下載 OpenCV的最新源代碼。有大概兩種方法。
通過SVN工具下載
下載源代碼的方法有很多,常用的是SVN工具或者CVS工具,如果採用SVN的工具,從以下地址把代碼check out出來。
註意,以上的鏈接,你必須使用SVN的工具才可以下載代碼。
使用CMake工具生成項目文件
下載和安裝CMake的工作我就不講了,大家直接可以去CMake的網站下載最新的windows setup文件來安裝。CMake下載網頁。
把剛纔下載的OpenCV的包解壓縮,比如放在 F:\opencv的目錄裡面,作為 CMake的輸入,另外創建一個目錄比如 F:\test1 作為CMake的輸出。
CMake會自動讓你選擇生成的項目是針對什麼的,在這裡我選擇 codeblocks mingw,如果你是使用 visual C++的,那你也可以選擇對於的版本。一切OK後,你就點擊 configure 按鈕, 然後再點擊 OK 按鈕。 這樣,在F:\test1 目錄下麵,就生成了所有的可用於codeblocks的項目文件了。
註意,上面的CMAKE_BUILD_TYPE 如果你填寫的是Debug ,那麼產生的是debug的opencv庫,如果你填寫的是Release或者空缺,則產生的是Release的OpenCV庫。
使用codeblocks編譯OpenCV的庫
打開codeblocks,然後選擇打開工程文件,你選擇 F:\test1\OpenCV.cbp 的項目文件。這樣子,codeblocks就把整個openCV的源代碼的項目全部打開了。請看下麵的示意圖:
選擇codeblocks中的Build按鈕或者菜單。等待片刻,編譯就完成了。註意,編譯完成之後,在F:\test1的目錄下麵,會有一個lib目錄,裡面都是剛剛編譯生成的lib文件(mingw編譯生成的庫文件,都是****.a的格式的,和你在VC++下看到的***.lib文件是不一樣的)。
實例代碼
參考Codeblocks_MinGW_openCV#添加庫文件和頭文件關於添加庫文件和頭文件的內容,修改相應的庫文件和頭文件。 需要修改的地方是:
- 頭文件的地址是: F:\opencv\include\opencv
- 庫文件的地址是: F:\test1\lib
- 添加的庫的名字,改成如下內容 -llibcxcore110.dll -llibcv110.dll -llibhighgui110.dll
註意,上面的 -lXXXXX的意思,是添加庫文件,比如第一個的意思,是添加名為 libcxcore110.dll.a 的庫文件。 另外,也可以在添加lib的左邊的列表框裡面,直接選取對應的 .a 文件,這兩個方法是一樣的。
編譯,鏈接,運行,又一次大功告成了!
參考文檔和鏈接
- 源碼編譯 linux編譯方法.
- TDM-MinGW一個集成的MinGW安裝包.
- SVN軟體的一個論壇討論