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\binbuild\x86\vc12\bin都加到系統環境變量中。

安裝WinDbg

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

終於安裝好了,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的快,但是,調試的時候,點了調試鍵之後,不要懷疑程序卡死了,等很久,纔打開調試器。。。

無力吐槽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章