1.對於環境配置:
下載安裝到一個你喜歡的環境(不一定非是C盤下)-------安裝好后配置環境:【計算機】->【(右鍵)屬性】->【高級系統設置】->【高級(標簽)】->【環境變量】->“雙擊”系統變量中的PATH->在變量值里面添加相應的路徑。
對於32位系統,就添加:
”;…… opencv\build\x86\vc10\bin”(和之前的就有有的環境變量用英文的分號“;”進行分隔)
而對於64位系統,可以兩個都添加上:
”;…… opencv\build\x86\vc10\bin”
和”…… opencv\build\x64\vc10\bin”,
要添加那一個主要看你用的是編譯器是32win還是64win
我這里是64位系統但是使用的編譯器是32win所以就加一個32位的路徑,但其實兩個都加上方便編譯器的切換,當切換編譯器時可以直接使用而不用在進行配置。
2.新建一個項目:
可以直接建一個 Win32控制台應用程序(也可以文件-->新建-->項目-->Visual C++-->Win32控制台應用程序)新建一個項目。
直接下一步就好,根據需要選取“空項目”即可。
新建一個cpp源程序:接着在解決方案資源管理器的【源文件】處右擊->添加->新建項,在工程中新建一個cpp源文件。
3.對新建項目進行環境配置:
首先找到屬性管理器:
也可以通過視圖-->屬性管理器
在新出現的“屬性管理器”工作區中,點擊項目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右鍵屬性,或者雙擊)即可打開屬性頁面。
將你安裝的opencv以下三個目錄引進:
······\opencv\build\include
······\opencv\build\include\opencv
······\opencv\build\include\opencv2
在庫目錄中引入opencv的lib庫函數:
······\opencv\build\x86\vc10\lib(x86這個是編譯器win32還是64,與操作系統無關。vc10是指VS2010我用的就是這個版本)
配置鏈接庫:“屬性管理器”工作區中,鼠標右鍵項目-->屬性--》調節配置選項Debug|Release-->【通用屬性】 ->【鏈接器】->【輸入】->【附加的依賴項】
Debug下添加以下庫:
opencv_calib3d247d.lib
opencv_contrib247d.lib
opencv_core247d.lib
opencv_features2d247d.lib
opencv_flann247d.lib
opencv_gpu247d.lib
opencv_highgui247d.lib
opencv_imgproc247d.lib
opencv_legacy247d.lib
opencv_ml247d.lib
opencv_nonfree247d.lib
opencv_objdetect247d.lib
opencv_ocl247d.lib
opencv_photo247d.lib
opencv_stitching247d.lib
opencv_superres247d.lib
opencv_ts247d.lib
opencv_video247d.lib
opencv_videostab247d.lib
Release下添加一下庫(直接復制就可以)
opencv_calib3d247.lib
opencv_contrib247.lib
opencv_core247.lib
opencv_features2d247.lib
opencv_flann247.lib
opencv_gpu247.lib
opencv_highgui247.lib
opencv_imgproc247.lib
opencv_legacy247.lib
opencv_ml247.lib
opencv_nonfree247.lib
opencv_objdetect247.lib
opencv_ocl247.lib
opencv_photo247.lib
opencv_stitching247.lib
opencv_superres247.lib
opencv_ts247.lib
opencv_video247.lib
opencv_videostab247.lib
開心的覺得可以用了結果出現了這樣的錯誤
不知道哪里錯了,查了一下:
1.我解決是項目屬性那里狀態不是Debug狀態而是活動(Debug),調到debug就可以正常運行了。
2. 網上解釋:
這算是opencv的一個bug,工程屬性里面關於帶d和不帶d的lib文件的附加依賴項的問題,就算配置好了每次想debug和release下都運行還得手動在工程屬性里面加。當得到這樣的錯誤時,可以把調試方式改一改,debug和release互換:
或者打開當前工程(注意是當前工程的屬性頁,不是通用屬性頁)的屬性頁,debug或者release哪個報錯,就把對應的帶d或不帶d的lib添加到【“當前”工程屬性】->【鏈接器】->【輸入】->【附加的依賴項】下即可。
剛開始用遇到的錯誤就這一個,先把網上的收藏一下:相關網址:http://blog.csdn.net/poem_qianmo/article/details/19809337/
1. 找不到core.h
出現這個問題是因為include的時候粗心大意了。
如果你的版本是2.4.6。在這個版本下,opencv根文件夾下面就有個include,但我們配置的時候如果包含的是他就坑爹了。
正確的應該填build里面的那個include。
2.無法解析的外部命令
這個問題其實上面有過解釋了,不管你是32位還是64位操作系統,只用管你用win32編譯器還是X64 編譯器。
其實配置選擇什么跟64位還是32位系統沒有直接的關系,而是在於你在編譯你的程序的時候是使用那個編譯器。
編譯器是win32,就用x86
編譯器是X64,就用X64。不過一般情況下,都是用的win32的X86編譯器。所以,
無論32還是 64位操作系統,配置文件最好都選擇x86版的。
3.關於形如--error LNK2005:xxx 已經在 msvcrtd.lib ( MSVCR90D.dll ) 中定義
出現這個問題,把靜態庫不包含就行了。
4. 應用程序無法正常啟動0xc000007b
Lib包含的問題。也許你同時包含了X86和X64的,或者包含出錯錯了。或者是對於windows 8 64位,dll要放在和System32文件夾同級的SysWOW64文件夾中。
5.無法打開文件“opencv_ml249d.lib”系列的錯誤