今天配置了一下午加半个晚上终于搞定windows下Qt+OpenCV的详细配置。
感谢chenhg大神。
根据我们的实验,发现Qt的mingw编译器存在着一个bug,在调用dll时会重定向至另外一个动态链接库,所以我们暂时打算抛弃mingw编译器,用本机自带的Visual Studio 2010的编译器。
具体步骤如下:(
以下所有目录均需要英文名!)
1)Qt安装可以选择default模式。
2)安装后,此时完成VS下的opencv配置(详见前一篇博文)(
若没有完成,请看2.1)。
2.1)将opencv安装路径下的bin库添加进系统变量: 我的电脑上是K:\openCV\build\x86\vc10\bin
3)新建一个项目,加入opencv的代码。
3.1)在项目选项卡下进行如下配置(vs2008则相应调整为MSVC2008)。
4)在项目头文件XXX.pro末尾加上以下代码:(
====分栏符以内文字)
==============================================================
INCLUDEPATH+= K:\openCV\build\include \
K:\openCV\build\include\opencv \
K:\openCV\build\include\opencv2
LIBS+= K:\openCV\build\x86\vc10\lib\opencv_core231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_imgproc231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_highgui231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_ml231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_video231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_features2d231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_calib3d231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_objdetect231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_contrib231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_legacy231d.lib \
K:\openCV\build\x86\vc10\lib\opencv_flann231d.lib
================================================================
4.1)其中,“K:\openCV”替换为你自己的opencv安装路径,以 替换的目录下有以上lib文件为准。
5)编译,运行即可。
6)为了在资源管理器下面可以打开编译生成的.exe文件,需要添加环境变量:
6.1)右击“计算机”——属性——高级系统设置——高级——环境变量——系统变量——PATH 如图:
6.2)添加如下一段:“K:\QtSDK\Desktop\Qt\4.8.1\msvc2010\bin”,前后需要引号隔开已有文字,K:\QtSDK为你安装Qt的路径,4.8.1为你使用的Qt版本号,msvc2010根据自己需要填写,可为msvc2008。按“确定”保存。
此时可以直接在windows资源管理器下双击运行编译生成的.exe可执行程序。
7)关于调试,需要下载微软的debugging tools for windows:
http://archive.msdn.microsoft.com/debugtoolswindows/Release/ProjectReleases.aspx?ReleaseId=4911