win10下mingw32编译opencv3.4.10及Qt+opencv配置

编译PC环境

在这里插入图片描述

编译准备

1.既然是mingw32编译,大前提是你需要安装qt并且带mingw编译器,我这里安装的是Qt5.10
2.安装cmake,这里安装的cmake-3.16.2
3.下载源码:https://opencv.org/releases/,选择版本3.4.10。
4.设置环境变量
在这里插入图片描述

opencv编译

1.把源码解压到一个目录,并且新建一个目录用来作为编译目录。
打开cmake-gui
在这里插入图片描述
设置好源码目录和编译目录。点击Configure,如上图配置,点击next后把mingw32相应的gcc和g++编译器的路径设置好。配置完成后。
把WITH_OPENGL、WITH_QT、EANBLE_CXX11、这几个选项勾上,
需要注意的是EANBLE_CXX11这个一定的勾上不然后面编译会报错
再次点击confgure,
在这里插入图片描述
很不幸还是报错了,提示
Add the installation prefix of “Qt5” to CMAKE_PREFIX_PATH or set “Qt5_DIR” to a directory containing one of the above files
意思是Qt5目录找不到,那就设置一下
在这里插入图片描述
然后再次点击configure,完成后点击generate。
在这里插入图片描述
以上完成后就可以开始编译了,打开命令行工具开始编译:
mingw32-make.exe -j8
在这里插入图片描述
到此并非万事大吉,中间编译过程可能一波三折。
这里把遇到的一些错误贴出来以供大家参考。
1.错误1
error:‘sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA’ was not declared inthis scope
[modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj] Error 1

解决办法:打开源码目录找到cap_dshow.cpp
在前面加上 #define STRSAFE_NO_DEPRECATE

2.错误2
error: ‘nullptr’ was not declared in this scope
error: ‘time’ was not declared in this scope
解决办法:ENABLE_CXX11 要勾选上

3.错误3
modules\videoio\src\cap_msmf.cpp you have the error: using invalid field ‘{anonymous}::ComPtr::p’
解决办法:WITH_MSMF 不要勾选

当然出现错误的时候也可以选择把一些模块关掉,比如错误2,不配置test模块,就不会出现此错误。

大概10分钟左右就可编译完成了,接下来就是enjoy时间了。
在这里插入图片描述
安装:mingw32-make.exe install

opencv之hello world

经过一番折腾,我们可以开始享受使用过程了。
新建一个Qt工程并配置好pro
在这里插入图片描述
图片显示代码。相当于一个hello world,哈哈。
在这里插入图片描述

演示效果

这里会出现2个窗口,一个Qt的,一个cv的窗口。在这里插入图片描述
作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处,如有不当欢迎指正

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值