目录

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环境变量相关推荐

  1. QT配置Opencv环境时出现的系列问题

    1.软件安装路径中一定不能出现空格,否则会出现无法生成vs.vision.rc.obj问题. 解决方法是:根据build.make中的错误行,自己修改编译命令,手动生成vs_version.rc.ob ...

  2. qt 配置opencv(win10) 出现问题error: undefined reference to `cv::namedWindow(cv::String const, int)‘

    qt配置opencv出现问题 应该是能打开头文件,但是找不到lib文件 找到的解决方法: https://blog.51cto.com/xiaohaiwa/5378491 编译好的opencv要下载的 ...

  3. Qt配置OpenCV教程及错误解决方法

    一.准备工作 写在前面(非常重要,不可忽视!!!): 如果你没有上述问题可以不看这部分的后续内容:如果你有以上问题或者遇到了无法解决的问题,可以对照下文检查是否是你遇到的问题. 在开始一切之前,请首先 ...

  4. [安卓开发笔记一]Android开发配置opencv环境超详细教程

    [安卓开发笔记一]Android开发配置opencv环境超详细教程 [更新于 2022年4月] 再次提醒,建议现在看到这篇文章的,仅仅把此文做一个流程参考,4年前android studio就使用cm ...

  5. 一文搞定 Visual Studio 配置 OpenCV环境

    文章目录 前言 准备工作 系统环境变量配置 VS项目环境配置 检验 补充 前言 在 Visual Studio 上配置 OpenCV 环境是极其恼人的事情,尤其是对于初学者,经常几个小时过去了都配不好 ...

  6. linux配置java环境变量(详细)

    一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车, ...

  7. java配置mq环境变量_RocketMQ学习-01安装及环境配置

    安装jdk环境 yum install java-1.8.0-openjdk java -version which java 输出 /usr/bin/java #软连接 ls -l /usr/bin ...

  8. win10配置java环境变量,解决javac不是内部或外部命令等问题

    win10配置java环境变量,解决javac不是内部或外部命令等问题 * 1,首先进入环境变量页面  2,在系统变量下面配置 JAVA_HOME:你自己的jdk的路径 CLASSPATH= .;%J ...

  9. centos 5.6安装及配置JDK环境变量

    1.下载及安装jdk cd /usr/local wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-i5 ...

最新文章

  1. 杂谈---改变个人习惯
  2. 为什么重新new两个线程线程号相同_面试官每次问我关于线程间通信方法,我都回答的很糟糕...
  3. 7-28 猴子选大王 (C语言)
  4. WZJ的数据结构(零)KMP
  5. django 的 一对多的关系
  6. java设计前期工作基础和存在的困难_Java秒杀系统实战系列-基于Redisson的分布式锁优化秒杀逻辑...
  7. Python第四章__装饰器、迭代器
  8. ConditionObject源码
  9. php中return返回数组,PHP中return返回数组的一点用法
  10. wingdings字体符号在哪_出版社编辑对标点符号和专业术语的要求
  11. 好工具,不私藏!介绍一个提高效率的利器
  12. 动软代码生成器生成数据库文档 (转载)
  13. 8153网卡linux驱动,绿联Type-c千兆网卡RTL8153驱动
  14. LDO芯片数据手册怎么看?
  15. Optical Flares for Mac/win(AE镜头光晕耀斑插件) ​
  16. VIPKID前端面试题
  17. 国际标准ISO/IEC 30144: 2020在智能变电站辅助监测中的应用研究
  18. 与上司同事的谈话技巧
  19. js实现简单打地鼠小游戏
  20. jvm原理解析——不疯魔不成活

热门文章

  1. 切片法分割树冠与树干
  2. 用户运营指标体系搭建逻辑
  3. ABP框架官网例子实践(2)(ASP.NET core+Multi Page Web Application)
  4. 华为在深度学习平台上的优化实践
  5. vuejs开发H5页面总结
  6. JavaScriptJQuery_jQuery选择器
  7. 教你计算个人所得税(企业员工)
  8. 编码学习——UTF-8与Unicode互转具体流程
  9. c语言实现url编码源码,URL encode 与 URL decode 的C语言实现
  10. Win7秘籍 如何用压缩卷调整不合理分区