天天看點

Win7下Qt 5 + OpenCV 2.4.13配置

歡迎通路我的部落格www.helloshawn.cn檢視更詳細教程

本文介紹win7 64位下Qt5和OpenCV 2.4.13的聯合配置,網上教程衆多,各有各的說法,有的對有的錯有的漏,本文經過實踐驗證,作為留存以備重裝,真實可用

環境

  • Win 7 Professional 64位
  • Qt 5.7.0 MSVC 2015 64位
  • OpenCV 2.4.13

Qt MingW和MSVC

Qt有兩種編譯方案,一種是GNU規範的MingW(Minimalist GNU for Windows),相當于在Windows下模拟一個GNU的編譯環境,我一開始裝的就是這種方案,但是後來發現,在這種方案下要裝OpenCV需要把OpenCV用MingW自己編譯一遍。。。而OpenCV本身就有用MSVC編譯好的預編譯的庫(不然Visual Studio怎麼調用呢是吧?),由于電腦上裝有Visual Studio 2015,想把Qt內建到VS2015上,又受到MingW的限制,覺得在Windows上面建構GNU環境有點舍近求遠,而且聽說在Windows上用MSVC的Qt會比MingW的流暢,何樂而不為呢?果斷重新安裝Qt。

下載下傳的是Qt 5.7.0 MSVC 2015 64bit的

安裝和配置

安裝Qt

安裝OpenCV

OpenCV

下的

build\x64\vc12\bin

build\x86\vc12\bin

都加到系統環境變量中。

安裝WinDbg

Qt MSVC的裝好之後居然是沒有調試器的,沒有調試器的。。。百度一下WinDbg,去微軟官網上下一個,微軟官網上面的是線上安裝器,在WDK的下載下傳頁面那裡,上面的英文說的很清楚了,如果隻要WinDbg的話,在安裝的時候把别的都取消勾選就好了

Win7下Qt 5 + OpenCV 2.4.13配置

終于安裝好了,Qt下建立一個工程,慢慢來吧,先來個控制台的

配置Qt和OpenCV

這一步就很坑了

在新工程的

.pro

檔案裡面添加OpenCV的目錄和庫,我的添加的是下面這樣的:

INCLUDEPATH += D:\OpenCV2413\opencv\build\include \
INCLUDEPATH += D:\OpenCV2413\opencv\build\include\opencv \
INCLUDEPATH += D:\OpenCV2413\opencv\build\include\opencv2

win32:CONFIG(debug,debug|release):{
LIBS += -LE:\Qt_MSVC\build\x64\vc12\lib\
-lopencv_calib3d2413d \
-lopencv_contrib2413d \
-lopencv_core2413d \
-lopencv_features2d2413d \
-lopencv_flann2413d \
-lopencv_gpu2413d \
-lopencv_highgui2413d \
-lopencv_imgproc2413d \
-lopencv_legacy2413d \
-lopencv_ml2413d \
-lopencv_nonfree2413d \
-lopencv_objdetect2413d \
-lopencv_ocl2413d \
-lopencv_photo2413d \
-lopencv_stitching2413d \
-lopencv_superres2413d \
-lopencv_ts2413d \
-lopencv_video2413d \
-lopencv_videostab2413d
}else:win32:CONFIG(release,debug|release):{
#LIBS += -LE:\Qt_MSVC\build\x64\vc12\lib\
LIBS += -LD:\OpenCV2413\opencv\build\x64\vc12\lib\
-lopencv_calib3d2413 \
-lopencv_contrib2413 \
-lopencv_core2413 \
-lopencv_features2d2413 \
-lopencv_flann2413 \
-lopencv_gpu2413 \
-lopencv_highgui2413 \
-lopencv_imgproc2413 \
-lopencv_legacy2413 \
-lopencv_ml2413 \
-lopencv_nonfree2413 \
-lopencv_objdetect2413 \
-lopencv_ocl2413 \
-lopencv_photo2413 \
-lopencv_stitching2413 \
-lopencv_superres2413 \
-lopencv_ts2413 \
-lopencv_video2413 \
-lopencv_videostab2413
}
           

把OpenCV目錄換成你的OpenCV相應目錄就行了,網上有人說目錄太深的話會導緻錯誤,其實不會的

注意事項(坑之所在)

修改

.pro

檔案之後,一定要在Qt點一遍

建構-執行qmake

,不然編譯的時候還是按原來的配置

加載了OpenCV之後,似乎隻能用

Release

模式來運作,

Debug

模式下程式總是閃退。。。不知何故

MSVC版本的Qt雖然編譯和運作比MingW的快,但是,調試的時候,點了調試鍵之後,不要懷疑程式卡死了,等很久,才打開調試器。。。

無力吐槽