Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)

最近在做一个图像识别的小项目,需要用到Qt以及opencv,之前是在ubuntu下使用,ubuntu编译安装opencv较为简单,此次在windows下遇到了一些坑,特在此记录本人安装以及配置opencv的全过程,按照此教程可顺利安装opencv所有的库,避免入坑,希望可以帮到大家!

步骤

  • 一.windows下安装Qt
  • 二.windows下安装cmake
  • 三.使用Qt的编译工具mingw配置opencv

一.windows下安装Qt

1.在Qt官网http://download.qt.io/archive/qt/下载安装包,如图所示下载对应的版本,选择windows版本,下载即可,我这里选择的是Qt5.14.2。
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第1张图片
2.下载完成,点击进行安装,一直点击next,中间需要登陆Qt账号,没有的话申请一个登录即可,选择安装位置,之后如下图所示选择安装的组件,我这里只选择了Mingw(MinGW编译器,主要用于跨平台开发),你可以全部选择下图红框中的编译器,注意MSVC使用的是vs的编译器,主要用于PC开发。
本文之后介绍配置opencv使用的是Mingw,两个版本配置opencv完全不同,请注意!
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第2张图片
3.完成之后添加环境变量,系统变量中选择path双击进行添加,如下图所示,图中所示位置为本人Qt安装路径,读者请自行更改为自己的路径添加。
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第3张图片
至此Qt便安装完成,重启电脑使环境变量生效,恭喜你,离成功进了一步!

二.windows下安装cmake

1.cmake是一个跨平台的编译工具,首先去cmake官网https://cmake.org/download/下载相应的版本,如下图所示。版本请读者根据自己需要进行选择,一般选择最新版本即可。
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第4张图片
2.下载完成后双击进行安装,注意选择安装位置,安装过程中注意下图所示一步,勾选红框处。
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第5张图片
3.至此cmake便安装完成,因为安装过程中选择了添加环境变量,因此不需要手动添加,重启电脑,恭喜你,离成功又进了一步!

三.使用Qt的编译工具mingw配置opencv

1.打开cmake,如下图所示1处选择opencv源码目录,2处选择编译opencv的安装目录,然后点击3处的Configure。
(注意:为了不破坏我的环境,opencv3410_ffmin64是我新建的空文件夹,之后编译的所有文件均在此文件夹下生成)
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第6张图片
2.点击gonfigure后如下图所示,选择对应选项,点击next
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第7张图片
3.之后下图1处选择c编译器(G:\Qt\Qt\Tools\mingw730_64\bin\gcc.exe),2处选择c++编译器(G:\Qt\Qt\Tools\mingw730_64\bin\g++.exe),以上为本人路径,读者自行更改为自己路径。选择完成后点击finish。
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第8张图片
4.等待Configure完成后,即使提示configure down,一般会遇到ffmpeg和ippicv下载失败,注意这两个工具为opencv的解码库,可用于打开本地视频文件和一些需要解码访问数据流的摄像头。按照以下方法将ffmpeg和ippicv下载后再进行configure。
直接下载链接中的文件,并将其添加进opencv3.4.10源码目录下的.cache文件夹,文件夹内容如下,完成后再次点击configure
在这里插入图片描述
百度网盘下载地址(链接:https://pan.baidu.com/s/1idKwcCqRlOUaKswyre4clw
提取码:x12n ),不要感谢我哦!方法相同,其他版本的读者请自行寻找下载。
5.完成configure后,找到WITH_QT和WITH_OPENGL勾选起来,再次点击Configure,如下图所示
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第9张图片
再次点击configure。
6.还是会报错,在红色的部分修改value值,以Qt5为例修改如下:
G:\Qt\Qt\5.14.2\mingw73_64\lib\cmake\Qt5
路径为本人路径,读者自行修改,其他红色部分修改参考Qt5。完成后再次点击configure。完成后如果不标红点击generate。至此opencv的编译条件已经具备。

7.打开cmd,进入如前图所示的opencv编译完成后的安装目录G:\opencv\opencv3410_ffmin64,读者根据自己路径自行修改,进入该目录后输入命令:mingw32-make进行编译。
之后大约在40%左右的地方会报错,如图所示
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第10张图片
解决办法:在cmake里面找到OPENCV_ENABLE_ALLOCATOR_STATS或者在search里面搜索,然后把后面的勾选去掉,接着Configure和Generate后,接着在cmd窗口中mingw32-make即可继续编译。
之后在50%左右的时候报错[ 50%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj
解决办法如下:在opencv的源码文件cap_dshow.cpp中添加

#define STRSAFE_NO_DEPRECATE

接着在cmake中Configure和Generate后,在cmd窗口中mingw32-make即可继续编译。

8.100%编译完成后输入命令mingw32-make install,等待安装完成。完成后在opencv3410_ffmin64下会生成bin文件夹,添加环境变量如图所示
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第11张图片
安装完成后在G:\opencv\opencv3410_ffmin64\install\include文件夹下有opencv的头文件,在G:\opencv\opencv3410_ffmin64\install\x64\mingw\lib文件夹下有opencv的库文件,至此重启电脑,恭喜你,你已经成功配置好opencv!

在qt中添加opencv,你只需要在项目文件中添加opencv头文件和库即可,如下图所示:
Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法)_第12张图片
你可以编写一个简单的程序测试opencv是否配置成功。
以上为本人的实配过程,希望可以帮到你,一起进步!

你可能感兴趣的:(Windows下安装Qt并使用cmake配置opencv3.4.10(含错误记录及解决办法))