Qt配置OpenCV环境变量
目录
1.准备工具
1.1 Qt:5.14.2 64位
1.2 CMake:3.25.1
1.3 OpencCV:4.4.0
2.配置环境变量
2.1 配置Qt中minGW的环境变量
2.2配置CMake的环境变量
3. CMake编译OpenCV
4.将编译完成后的Opencv的bin目录加入环境变量
5.OpenCV编译出现的错误及解决
6. Qt代码测试
1.准备工具
1.1 Qt:5.14.2 64位
1.2 CMake:3.25.1
官网链接:https://cmake.org/
PS:注意勾选添加环境路径后,系统自动将其路径添加至系统环境变量Path中 。
1.3 OpencCV:4.4.0
官网链接:https://opencv.org/releases/
PS: 使用迅雷下载会快很多!
step1.下载完成后得到如下exe文件,实际是一个压缩文件,点击运行,解压至自定义路径,如下:
解压缩后的文件如下:
step2.新建一个opencv_newbuild文件,用于存放后续Opencv编译输出文件,如下:
2.配置环境变量
2.1 配置Qt中minGW的环境变量
D:\QT\Tools\mingw730_64\bin
2.2配置CMake的环境变量
安装CMake过程中选择自动添加,or手动添加。
3. CMake编译OpenCV
step1.打开CMake,选择源目录、输出目录,点击configure.
step2.选择你的编译器类型-“MinGW Makefile”,同时选择“Specify native compilers".
step3.设置C、C++编译器:选择Qt中"gcc.exe"和”g++.exe"路径。
step4. 解决:由于网络下载失败问题
打开CMakeDownloadLog.txt文件,如下
用浏览器打开上述网址,可以使用迅雷/VPN下载上面的2个文件,然后将下载好的文件放在对应文件夹下。
step5.检查Qt5、Qt5Core、Qt5Gui等目录是否正确
( 可能我在此之前配置过Python的Opencv,导致我这里的Qt5的目录如下:)
修改为:
step5. Add Entry
Set QT_MAKE_EXECUTABLE to D:\Qt\5.14.2\mingw73_64\bin\qmake.exe Set OPENCV_VS_VERSIONINFO_SKIP=1
step6.勾选 "WITH_OPENGL", "WITH_OPENMP", "WITH_QT",”BUILD_opencv_world";
取消勾选“WITH_OPENCL_D3D11_VNV","OPENCV_ENABLE_ALLOCATOR_STARTS"
将CMAKE_VBUILD_TYPE"修改为release
点击configure-generate.
step7.查看CPU的核心数与线程数:打开Dos窗口,输入"wmic","cpu get *",
右滑,可找到cpu的核心数(4),线程数(8)
step8.编译,Dos窗口输入
- mingw32 -make -j 8(这里的“8”是cpu线程数)
等待,有错误的话,就去查一查,修改一下CMake里面的设置。(后文有给出我遇到的一个问题及解决方案,并在上述步骤中完成修改了)
- mingw32-make install
(这一步很快)
4.将编译完成后的Opencv的bin目录加入环境变量
5.OpenCV编译出现的错误及解决
Error:
D:/QT/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `CMakeFiles\opencv_world.dir/objects.a(vs_version.rc.obj)' is incompatible with i386:x86-64 output
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [modules\world\CMakeFiles\opencv_world.dir\build.make:8976: bin/libopencv_world440.dll] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:2237: modules/world/CMakeFiles/opencv_world.dir/all] Error 2
mingw32-make: *** [Makefile:165: all] Error 2
解决方案:
cmake界面按钮: add Entry --->>> BOOL --->>> OPENCV_VS_VERSIONINFO_SKIP 打钩
6. Qt代码测试
新建Qt项目,导入编译好的OpenCV库文件,实现OpenCV读取图像与显示。
step1.新建Qt Widgets Application项目(PS:选择minGW64编译器)
step2.添加库-外部库-设置库文件和包含路径
OpenCV库添加成功后,pro文件中出现以下代码
step3. 添加头文件,读取图片显示图片
参考:
How to setup Qt and openCV on Windows - Qt Wikihttps://wiki.qt.io/How_to_setup_Qt_and_openCV_on_WindowsQt配置opencv环境 | 木风可可 (sorrowfeng.top)https://www.sorrowfeng.top/qt-with-opencv/OpenCV4 + Qt5 开发环境配置合集(C++/Python)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Za4y1v7ra/?spm_id_from=333.337.search-card.all.click&vd_source=a2b7029e58d3c675b2d4ea72e64ea4f5
Qt配置OpenCV环境变量相关推荐
- QT配置Opencv环境时出现的系列问题
1.软件安装路径中一定不能出现空格,否则会出现无法生成vs.vision.rc.obj问题. 解决方法是:根据build.make中的错误行,自己修改编译命令,手动生成vs_version.rc.ob ...
- qt 配置opencv(win10) 出现问题error: undefined reference to `cv::namedWindow(cv::String const, int)‘
qt配置opencv出现问题 应该是能打开头文件,但是找不到lib文件 找到的解决方法: https://blog.51cto.com/xiaohaiwa/5378491 编译好的opencv要下载的 ...
- Qt配置OpenCV教程及错误解决方法
一.准备工作 写在前面(非常重要,不可忽视!!!): 如果你没有上述问题可以不看这部分的后续内容:如果你有以上问题或者遇到了无法解决的问题,可以对照下文检查是否是你遇到的问题. 在开始一切之前,请首先 ...
- [安卓开发笔记一]Android开发配置opencv环境超详细教程
[安卓开发笔记一]Android开发配置opencv环境超详细教程 [更新于 2022年4月] 再次提醒,建议现在看到这篇文章的,仅仅把此文做一个流程参考,4年前android studio就使用cm ...
- 一文搞定 Visual Studio 配置 OpenCV环境
文章目录 前言 准备工作 系统环境变量配置 VS项目环境配置 检验 补充 前言 在 Visual Studio 上配置 OpenCV 环境是极其恼人的事情,尤其是对于初学者,经常几个小时过去了都配不好 ...
- linux配置java环境变量(详细)
一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车, ...
- java配置mq环境变量_RocketMQ学习-01安装及环境配置
安装jdk环境 yum install java-1.8.0-openjdk java -version which java 输出 /usr/bin/java #软连接 ls -l /usr/bin ...
- win10配置java环境变量,解决javac不是内部或外部命令等问题
win10配置java环境变量,解决javac不是内部或外部命令等问题 * 1,首先进入环境变量页面 2,在系统变量下面配置 JAVA_HOME:你自己的jdk的路径 CLASSPATH= .;%J ...
- centos 5.6安装及配置JDK环境变量
1.下载及安装jdk cd /usr/local wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-i5 ...
最新文章
- 杂谈---改变个人习惯
- 为什么重新new两个线程线程号相同_面试官每次问我关于线程间通信方法,我都回答的很糟糕...
- 7-28 猴子选大王 (C语言)
- WZJ的数据结构(零)KMP
- django 的 一对多的关系
- java设计前期工作基础和存在的困难_Java秒杀系统实战系列-基于Redisson的分布式锁优化秒杀逻辑...
- Python第四章__装饰器、迭代器
- ConditionObject源码
- php中return返回数组,PHP中return返回数组的一点用法
- wingdings字体符号在哪_出版社编辑对标点符号和专业术语的要求
- 好工具,不私藏!介绍一个提高效率的利器
- 动软代码生成器生成数据库文档 (转载)
- 8153网卡linux驱动,绿联Type-c千兆网卡RTL8153驱动
- LDO芯片数据手册怎么看?
- Optical Flares for Mac/win(AE镜头光晕耀斑插件) ​
- VIPKID前端面试题
- 国际标准ISO/IEC 30144: 2020在智能变电站辅助监测中的应用研究
- 与上司同事的谈话技巧
- js实现简单打地鼠小游戏
- jvm原理解析——不疯魔不成活