WIN7x64+VS2010+OpenCV2.4.10+cmake3.5.0重新編譯OpenCV


1,參考博文

   Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重編譯OpenCV

  【OpenCV入門教程之七】 玩轉OpenCV源代碼:生成OpenCV工程解決方案與OpenCV源碼編譯

   VS2010重編譯OpenCV2.4.9 用於調試源代碼

  opencv在vs2012下重編譯詳細教程——解決按f11進入不了源代碼

  感謝前人的幫助,自己使用的軟件版本和各博主的不完全一致,不同的軟件版本重編譯,配置方法並不一致,因此要兼聽則明。在操作過程中肯定會出現和博客中不一致的情況,要多使用搜索引擎,參考他人的解決辦法。

2,工具

  • cmake3.5.0

CMake是一個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。只是 CMake 的組態檔取名為 CmakeLists.txt。Cmake 並不直接建構出最終的軟件,而是產生標准的建構檔(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建構方式使用。這使得熟悉某個集成開發環境(IDE)的開發者可以用標准的方式建構他的軟件,這種可以使用各平台的原生建構系統的能力是 CMake 和 SCons 等其他類似系統的區別之處。

  • OpenCV2.4.10

  • visual studio 2010

  • 注意:新版本不需要TBB

3,重編譯目的,流程

  現階段主要是在調試的時候直接F11查看OpenCV源代碼。利用官方編譯好的動態鏈接庫也可以完成OpenCV所有功能,但是不能方便的查看源代碼,所以需要在本地編譯生成鏈接庫。

  主要流程:

  • Cmake編譯OpenCV源代碼,生成visual studio C++下的解決方案(標准的構建檔,還需要根據平台進一步編譯)。

  • 利用visual studio進一步編譯成具體的二進制生成文件,如dll,lib。

  • 在visual studio中配置生成的OpenCV庫文件。

4,Cmake編譯OpenCV源代碼,生成visual studio C++下的解決方案

參考上述任一篇博文即可,不再贅述。

需要注意的地方

  • Cmake選擇源代碼的路徑,定位到CMakeLists.txt所在的文件夾。第一篇博文OpenCV2.4.3直接選擇到D:/Program Files/opencv根目錄,而后續包括本文用的OpenCV2.4.10都是定位到D:\Program Files\opencv\sources文件夾。不同版本CMakeLists.txt所在位置不同。

  • 編譯平台的選擇,根據自己的VS版本需要選擇默認的Win32或者Win64(x64)平台。

  • 兩次點擊Configure,再次點擊Generate生成項目工程。

5,利用visual studio進一步編譯成具體的二進制生成文件

 打開OpenCV.sln工程,注意不要着急生成

點擊Win32旁邊的下拉菜單,打開配置管理器,默認情況下,IANSTALL項目是沒打勾的,一定記得打上,不然待會配置時怎么都找不到install這個文件夾,也就找不到include,opencv,opencv2,然后右鍵ALL_BUILD,點擊生成。

如果沒打勾已經生成了文件,只需要重新把勾打上,然后重新生成解決方案。

Debug切換到Release模式下,重新打勾生成。

 

6,在visual studio中配置生成的OpenCV庫文件

(1),配置環境變量

Path下兩個路徑D:\Program Files\opencv2410\opencv\vc10solution\bin\Debug;D:\Program Files\opencv2410\opencv\vc10solution\bin\Release(本人剛才生成的解決方案目錄文件,$解決方案$\bin\Debug...Release)

(2),添加新的屬性表

屬性管理器中,添加新的項目屬性表,命好名並保存下來。Debug和Release的附加依賴項會沖突,所以Debug和Release不能用同一個屬性表。

Debug:

VC++目錄>包含目錄:D:\Program Files\opencv2410\opencv\vc10solution\install\include

          D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv

                            D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv2

VC++目錄>庫目錄:D:\Program Files\opencv2410\opencv\vc10solution\lib\Debug

鏈接器>輸入>附加依賴項:

opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib

Debug:

VC++目錄>包含目錄:D:\Program Files\opencv2410\opencv\vc10solution\install\include

          D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv

                            D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv2

VC++目錄>庫目錄:D:\Program Files\opencv2410\opencv\vc10solution\lib\Release

鏈接器>輸入>附加依賴項:

opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_objdetect2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_nonfree2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_videostab2410.lib

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM