Win7下Qt 5 + OpenCV 2.4.13配置

本文介绍win7 64位下Qt5和OpenCV 2.4.13的联合配置,网上教程众多,各有各的说法,有的对有的错有的漏,本文经过实践验证,作为留存以备重装,真实可用,来自https://www.hsli.top

环境

  • Win 7 旗舰版 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的目录和库,我的添加的是下面这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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的快,但是,调试的时候,点了调试键之后,不要怀疑程序卡死了,等很久,才打开调试器。。。

无力吐槽

如果文章有用,请随意打赏