admin 管理员组文章数量: 887176
Qt+OpenCV安装和部署
- Windows10下QT6.0(C++)+OpenCV4(一)
- 下载安装QT6.0
- 下载安装Cmake(OpenCV4需要)
- 下载安装OpenCV4
Windows10下QT6.0(C++)+OpenCV4(一)
由于工作原因,要开始加入到QT的开发大军中来。 说实话以前没有做过QT的开发,也算零基础入门了。这篇文章记录一下环境的安装配置。以便于后期复习回顾。先装上开源的学习一下,后期有需要再购买正版。
P.S.本打算今天一天装完写完的,结果发现QT6.0太新了,OpenCV4.5.1对应Cmake的操作执行不下去了,后面再补充吧-2021-01-24
下载安装QT6.0
首先进入官网下载地址进行下载官方下载器
QT6.0下载地址
到这一步,你能得到一个qt-unified-windows-x86-4.0.1-online.exe。
- 双击运行qt-unified-windows-x86-4.0.1-online.exe ;
- 确保你有在QT官网注册账号,使用登陆密码登录;
- 一直点击下一步,到是否帮助收集信息这里,点否;
- 选择自定义安装 Custom installation ,这样才能选到QT6.0.0;
- 勾选必要的组件,我这里选择的是MinGW 8.1.0 64-bit以及Qt 5 Compatibility Module,分别是Mnimalist GNU for Windows,也就是windows平台的GNU工具集导入库的集合以及 Qt 5 的兼容性模块,毕竟很多Qt 6刚出;
- 接受license 协议 并点击Next,选择快捷方式名称,再点击下一步;
- 点击Install 开始安装;
- 开始安装 。
- 安装完成 。
- 顺利打开应用即可 。
- 后续模块升级 ,添加新的组件,请进入安装路径,双击 MaintenanceTool.exe执行,按照前面第5步补充勾选即可。
下载安装Cmake(OpenCV4需要)
(注意:(1)安装路径不能有中文和空格(2)勾选加入环境变量)
1.下载安装Cmake
Cmake下载
2.下载完毕得到cmake-3.19.3-win64-x64.msi,双击运行
3.下一步至配置PATH界面,按下图勾选,并下一步。
4.至下图完成安装。
5.打开客户端效果如下图。
下载安装OpenCV4
1.下载安装OpenCV4
Opencv4官网下载链接
2.下载得到opencv-4.5.1-vc14_vc15.exe
3.双击安装
4.配置之前Qt的环境变量
5.配置Cmake路径
源路径:安装OpenCV的位置的sources文件夹
生成路径:在OpenCV安装位置下,新建一个文件夹,随便起名字。这里我起的"Cbuild"
6.点击Configure,出现下图,选择“MinGW Makefiles”并点击第二个,配置在本地,点击Next:
7.在此界面选择Qt目录下指定位置的gcc和g++工具,并点击Finish:
本人对应路径为:
C:C:\Qt\Tools\mingw810_64\bin\gcc.exe
C++:C:\Qt\Tools\mingw810_64\bin\g++.exe
8.报了个错如下:CMake Error: CMake was unable to find a build program corresponding to “MinGW Makefiles”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
9.解决方案如下:
勾选Grouped,Advanced
将CMAKE_MAKE_PROGRAM项后面的路径设置为Qt安装路径下的路径如下所示:C:\Qt\Tools\mingw810_64\bin\mingw32-make.exe,重新点击Configure,问题解决。
10.正常编译结束后如图:
11.补充勾选WITH_QT,WITH_OPENGL,再次点击Configure---------2021-01-24至此报错“”
12.报错如下,他还在找Qt5,但实际上已经是Qt6了,他找不到了。。。:
17.即使我在这里补充成新的路径,执行后依然不通过。
18.我在报错对应的文件中,找到Qt5,全部替换为Qt6,这部分通过了!
19.通过见下图,然后又出了新的问题:
把所有能看到的,报错的文件,打开,把里面QT5改成QT6,Qt5改成Qt6,只出现一次的,没有用的include,注释掉。比如“I:\WORK\OpenCV\opencv\sources\modules\highgui\CMakeLists.txt”之类的
最终编译成功
另外:
不勾选 WITH_IPP
不勾选与TESTS有关的选项
不勾选 ENABLE_PRECOMPILED_HEADERS
不勾选WITH_MSMF
勾选 ENABLE_CXX11
编辑H:\opencv3.4.3\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在约110行左右#include "DShow.h"上面添加#define NO_DSHOW_STRSAFE,#define STRSAFE_NO_DEPRECATE。
另外:Cmake缺失“opencv_videoio_ffmpeg.dll,opencv_videoio_ffmpeg_x64.dll”需要自己在网上找好了,然后补充道Source文件下的I:\WORK\OpenCV\opencv\sources\3rdparty\ffmpeg目录下。
修改Qt5相关的需求等,并且点击Add Entry,按图补充内容,再次点击Configure:
其中Value改为“C:\Qt\6.0.0\mingw81_64\bin\qmake.exe”
13.建议取消勾选OPENCV_ENABLE_ALLOCATOR_STATS,并CMAKE_BUILD_TYPE为Release
14.成功Configuring done。点击“Generate”
15.在opencv对应生成目录下,执行对应命令。
管理员cmd进入“I:\WORK\OpenCV\opencv\Cbuild\”下。下面命令的8为需要用到的逻辑处理器个数,建议量力而行。具体自己有多少可以在任务管理器里看到。
执行:mingw32-make -j 8
错误1:window_QT.h,moc_window_QT.h中引用的QtOpenGL不存在
到这里无法解决了,怎么加环境变量也没用,
突然想到第12步,我将CMakeList.txt中**include(${QT_USE_FILE})**给注释掉了,当时认为不会被调用
添加上重新编译报错:
CMake Error at modules/highgui/CMakeLists.txt:74 (include):
include called with wrong number of arguments. include() only takes one
file.
Call Stack (most recent call first):
modules/world/CMakeLists.txt:13 (include)
modules/world/CMakeLists.txt:32 (include_one_module)
可以看到,确实在此文件上报错。通过查询此问题原因,发现这里可以修改include改成include_directories:
修改后可以完成。。。终于长出一口气
再次进入目录执行:mingw32-make -j 8
还是报同样的错误,心态崩了。
网上针对这个**include called with wrong number of arguments. include() only takes one file.**继续查找,在连接找到一个方法:
Cmake and QT5
尝试修改后,完全对不上。没法搞。2021-01-25,后面再看吧。。
16.在opencv对应生成目录下,编译完成(100%)之后执行安装命令,会在相关目录下生成库文件。执行对应命令。
管理员cmd进入“I:\WORK\OpenCV\opencv\Cbuild\”下
执行:mingw32-make install
2021.01.25
试着用QT5装了一下,按照上面的流程,很成功。
将对应目录放到环境变量中,我这里是I:\WORK\OpenCV\opencv\qt5opencvrebuild\install\x64\mingw\bin
新建一个项目,配置.pro文件里,引入opencv
配置头文件以及调用代码
搞定
所以说Qt6.0什么时候能出对应的opencv版本,再装吧。。。
本文标签: 环境
版权声明:本文标题:Windows10下QT6.0(C++)+OpenCV4环境配置及安装(未成功) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1716096062h666086.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论