opencv在vs2012下重编译详细教程——解决按f11进入不了源代码
生活随笔
收集整理的這篇文章主要介紹了
opencv在vs2012下重编译详细教程——解决按f11进入不了源代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近用到opencv人臉識別的代碼,想進源碼看看實現過程,大家都知道opencv的源碼在opencv/modules下,但是光看那么長的源代碼實在麻煩,要是能在調試的時候按f11直接就能跟進內部代碼就好了。說到這里大家會想為什么進不了呢?這是因為我們的程序調用opencv的函數使用的是opencv/build/x86/bin下的動態鏈接庫,這是opencv為所有windows用戶提供的,想要跟進代碼就必須在本地編譯生成鏈接庫等必須文件。
本文參考了文章Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重編譯OpenCV這里講的詳細但還是有點錯誤,這里我來總結一下,避免大家走彎路。
1、工具
下載并安裝這幾個工具:CMake、OpenCV、Visualstudio下載OpenCV:http://opencv.org/downloads.html
下載CMake:http://www.cmake.org/cmake/resources/software.html,安裝
2、用CMake生成OpenCV的VS2012解決方案
首先按照下圖標注,①是opencv所在目錄②是接下來的工程目錄(自己新建),接下來點configure按鈕直到不出現紅色,然后點Generate 生成工程文件,成功的話會在C:/svn/opencvproject下生成工程文件。3、打開opencv工程并編譯源代碼,生成我們所需要的動態鏈接庫
在C:/svn/opencvproject找到Opencv.Sln,打開如下圖這里首先點開Debug處的小三角選擇配置管理器,如果INSTALL未選擇則選中,然后確定;右鍵ALL_BUILD生成debug版的工程文件,10分鐘左右,完成后切換到Realease右鍵ALL_BUILD生成。
4、配置Opencv環境變量
注意,這里也是跟上述文章不一樣的地方,估計是因為OpenCV版本不同吧,導致配置上有所不同,環境變量path應該添加以下兩個路徑:
C:\svn\opencvproj\bin\Debug?和 ?C:\svn\opencvproj\bin\Release
注:C:\svn\opencvproj\ 是我用CMake生成的VS2012工程的所在目錄。
注意:之前用的是OpenCV自帶編譯版本的請注意了,應該將原來環境變量刪除后再添加。否則調試的時候還是多多少少有些問題
5、修改工程屬性
右鍵你的項目,選擇屬性,點中VC++目錄,修改包含目錄和庫目錄 1.包含目錄設置為:C:\svn\opencvproj\install\include ;?C:\svn\opencvproj\install\include\opencv ;?C:\svn\opencvproj\install\include\opencv2(這解釋了剛才為什么要勾選INSTALL了,否則是找不到install這個目錄的,如果還是沒有就展開工程CMakeTargets右鍵INSTALL分別在Debug和Realease下生成) 2.庫目錄設置為:C:\svn\opencvproj\lib\Debug 3.添加附加依賴項,在 鏈接器->輸入->附加依賴項處添加: opencv_calib3d246d.libopencv_contrib246d.lib
opencv_core246d.lib
opencv_features2d246d.lib
opencv_flann246d.lib
opencv_gpu246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib
opencv_legacy246d.lib
opencv_ml246d.lib
opencv_nonfree246d.lib opencv_objdetect246d.lib
opencv_photo246d.lib
opencv_stitching246d.lib
opencv_video246d.lib
opencv_superres246d.lib
opencv_ts246d.lib
opencv_videostab246d.lib
這里根據自身情況來定,不同版本不同項目所需的lib文件可能不一樣 這里的246d代表opencv版本是2.4.6,d代表debug版,release是不加d的,注意區分!
到這里,我們的所有配置已經完成,主要上文區別的地方在環境變量path不同,包含的庫目錄不同。
6.測試項目
到項目中設置斷點,按f11看能否跳進opencv代碼內部總結
以上是生活随笔為你收集整理的opencv在vs2012下重编译详细教程——解决按f11进入不了源代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorflow随笔-滑动平均模型
- 下一篇: tensorflow随笔-非线性回归