最近学习opencv4,发现opencv4简直是开发者利器,以前曾开发过一个小的图形识别算法,真的很费力气,而在这个软件中,也许区区几条命令就可以实现,长话短说,关于系统配置走了一些弯路,本文主要目的就是记录一下。
别人文中提到的这里就不赘述。
1、QT下载路径,
官网路径https://www.qt.io/download,但这个路径需要填信息,比较麻烦;
网上推荐的链接地址:http://download.qt.io/archive/qt/ ,自目前为止,这里面部分版本(QT5.2--QT5.11)已经搬迁;
(QT5.2--QT5.11)搬迁路径:http://download.qt.io/new_archive/qt/
2、QT安装
我用的是vs2015+QT5.8以上64位,那么QT5.8下载文件名 qt-opensource-windows-x86-msvc2015_64-5.8.0.exe,QT5.9以上版本不分,只有一个exe文件的,下载后按照下图红色框选择即可。同理按照vs类型分32位、64位、vs2015、vs2013、vs2017、vs2019等等,按需选择即可。
3、QT配置
参考网上资料即可,比如:Windows下Vs2015配置Qt5.11.2全解。
4、VS2015
如果硬盘空间紧张可以选择部分内容安装,可以选择Visual C++,C#和vb之类的可以不选。(说实话动不动10几G的安装真要命)
安装参考网上。
vs2015对应NET Framework6.01版本,但安装QT5.8及以上版本时编译不过去,查来查去,终于发现是Net framework框架版本低,后来下载了Net Framework8并安装,就能正常运行。
NetFramework8的下载地址
https://dotnet.microsoft.com/download/dotnet-framework/net48
说一句,在这里绕了一些弯路,而且bug也不好找,最开始用QT5.8 32位+VS2013 版本啥事没有,后来才知道为啥没事,之前曾装过vs2017,当时装了Net framework7的,而QT5高版本(至少>5.8版本)的需要Net framework7以上版本。而另外一台电脑,由于是固态硬盘,只有128G,装了QT、eclipse一堆软件等等,硬盘已经没有多少地方、所以vs2015装的时候也是简化装的,很多内容没装,net framework是6的,所以,一调试就异常,后来根据bug找到一篇文章,说是netframe框架低了,要升级。
5、qt和vs相关联的插件
目前最新的地址:http://download.qt.io/archive/vsaddin/2.4.3/
对应vs2015的版本是:qt-vsaddin-msvc2015-2.4.3.vsix
6、opencv4.1+QT在vs2015上配置
Opencv4以上比较简单,下载之后就可以用,就不在这里赘述了
视图/其他属性/属性管理器,右键选择如下内容(当然主页面Debug旁边的也要选择X64)就可以开始配置了。
(1)新建目录,把opencv4对应的文件放入,这时,路径写得就简单些;
比如:
\bin目录下,opencv_world410.dll、opencv_world410d.dll、opencv_ffmpeg410_64.dll
\lib目录下,opencv_world410.lib、opencv_world410d.lib
\src\include目录下,opencv4.1.0\opencv\build\ 路径下的include目录全部复制过来;
vs2015配置如下
VC++/常规/附加包含目录 ..\include
链接器/常规/附加库目录 ..\..\lib
链接器/输入/附加依赖库 opencv_world410.lib、opencv_world410d.lib
属性/常规/输出目录 ..\..\bin
属性/调试/工作目录 ..\..\bin (2015上没有,2013上有)
链接器/系统/子系统 窗口==》控制台
环境变量 path中添加 opencv4.1.0\opencv\build\x64\vc14\bin;
QT也要添加到配置环境中,以QT5.8为例子,在VC++/常规/附加包含目录添加 Qt5.8\5.8\msvc2015_64\include
(2)直接配置,以下两步要写入完整路径
VC++/常规/附加包含目录 .\opencv4.1.0\opencv\build\include,opencv4.1.0\opencv\build\include\opencv2
链接器/常规/附加库目录 \opencv4.1.0\opencv\build\x64\vc14\lib
其他写法同(1)所示。
7、vs2015配置完之后,说ui*.h文件找不到,找了一圈发现是路径问题,不认,后来在
Qt VS Tools/Qt Options/Qt Default Settings/UicDirectory 去掉路径,再重新 生成解决方案就正常了。
(之前用vs2013+qt5.8 32位环境是没提示这个bug)
这样配置完之后,应该不需每次重新配置,先写到这里,如果有问题再改。