本文主要介绍如何搭建QT6+OpenCv的开发环境,基本流程如下
  1. 先安装CMake3.27.3,用来编译适用用QT的OpenCv的源码,安装完成后要配置系统的环境变量
  2. 安装Qt6的开发环境,并配置环境变量,注意一定要重启电脑才能生效
  3. 下载OpenCv的源码,用于后面的编译
  4. 上述环境准备好后,使用CMake来编译适配Qt的OpenCv源码
  5. 安装OpenCv
 
版本详情:QT6.4.3 + OpenCv4.7 + CMake 3.27.3
 
CMake的安装
  • CMake 的安装比较简单,一直按照默认设置点下去就可以,在下面的页面时,选择添加CMake到系统路径。
  • 安装完成后的文件如下
 
 
OpenCv的安装
  • 双击安装包,选择解压路径
  • 解压过程
  • 解压完成后文件如下:
 
Qt的安装
  • 一定要注意安装路径不要有空格
  • 双击安装包,然后一路点击“下一步”
  • 选择自定义安装
  • 选择Qt
 
  • 选择Developer and Designer Tools
  • 一路点击,继续安装
  • 安装进行中,这个过程比较长,需要先下载后安装
 
配置系统环境变量
  • 按照自己的安装路径,配置系统环境变量,配置完成后,一定要重启电脑
 
基于CMake 配置OpenCv的编译环境
  • 在opencv文件夹下新建rebuild_for_qt文件夹,存放新编译的内容
  • 打开CMake
  • 配置如下,点击Config
  • 在出现的界面进行如下配置
  • 在出现的界面,选择安装qt时的安装的gcc.exe 和g++
 
  • 点击Finished,进行配置
  • 配置完成之后,会有一些错误,然后进行选择后,再重新配置
    • 选中“WITH_OPENGL”、“WITH_QT”,WITH_OPENMP,
    • 将“WITH_IPP”取消,以及带有Python的配置取消
    • 然后再次点【Configure】
  • 再次Config后,依然会出现错误,主要是不能从github下载一些文件
  • 找到源码目录下的.cache\ffmpeg文件夹,把压缩包里的3个文件改为和下面文件名称一致
  • 再次Config后,就只剩下warning,不再有错误了,此时表示构建完成,然后点击Generate
  • 出现如下信息,表示构建完成
 
编译OpeCv
  • 在 rebuild_for_qt目录下打开命令行cmd,输入mingw32-make -j 2 的指令,注意 j 后面的2指的是自己电脑的内核数,这条指令的意思是创建2个线程来编译OpenCv, 可以根据自己电脑的配置来修改这个数字,按下回车开始编译。
  • 全部编译完成到100%,没有红色错误提示即可
 
  • 输入mingw32-make install 命令,进行安装,安装完成后如下
  • OpenCv安装完成后,要将其配置到系统环境中
 
使用Qt测试环境配置是否成功
  • 创建一个Qt的项目
  • 填写项目名称和存储路径
  • 打开.pro文件 配置头文件和库目录的引用
INCLUDEPATH += E:\opencv_4.7\rebuild_for_qt\install\include LIBS += E:\opencv_4.7\rebuild_for_qt\lib\libopencv_*.a
  • 测试代码,加载并显示一张图片
  • 编译并运行项目,图片成功显示,表示配置成功!
 
 
 
 
 
 
 

搭建 QT6+OpenCv4.7+CMake的环境的更多相关文章

  1. Codeblocks + opencv + Cmake + minGW 环境搭建(一劳永逸版)

    应工作开发需要,今天搭建一个codeblocks的C++开发环境,需要配置opencv2.4.4的API协同开发. 1.为了避免不必要的配置编译器,下载codeblocks16.1带mingw编译器版 ...

  2. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

    准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...

  3. 模拟搭建Web项目的真实运行环境(一)

    序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...

  4. 第五章——搭建S3C6410开发板的测试环境

    搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...

  5. 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]

    在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了适合我的linux环境的搭建方式;在 ...

  6. 利用grunt-contrib-connect和grunt-connect-proxy搭建前后端分离的开发环境

    前后端分离这个词一点都不新鲜,完全的前后端分离在岗位协作方面,前端不写任何后台,后台不写任何页面,双方通过接口传递数据完成软件的各个功能实现.此种情况下,前后端的项目都独立开发和独立部署,在开发期间有 ...

  7. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  8. Storm系列(一):搭建dotNet开发Storm拓扑的环境

    上篇博客比较了目前流行的计算框架特性,如果你是 Java 开发者,那么根据业务场景选择即可:但是如果你是 .Net 开发者,那么三者都不能拿来即用,至少在这篇文章出现之前是如此.基于上篇文章的比较发现 ...

  9. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  10. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

随机推荐

  1. WPF入门教程系列二十六——DataGrid使用示例(3)

    WPF入门教程系列目录 WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系 ...

  2. 【Python&目标识别】调用百度智能云API实现植被识别

           ​百度智能云于2015年正式对外开放运营,以"云智一体"为核心赋能千行百业,致力于为企业和开发者提供全球领先的人工智能.大数据和云计算服务及易用的开发工具.凭借先进的 ...

  3. [Java SE] 彻底搞懂Java程序的三大参数配置途径:系统变量与JVM参数(VM Option)/环境变量/启动程序参数args

    0 序言 一次没搞懂,处处受影响.这个问题属于基础问题,但又经常踩坑,不得不重视一下了. 1 Java程序动态参数的配置途径:系统变量与JVM参数(VM Option) vs 环境变量 vs 启动程序 ...

  4. S32DS---make: *** No rule to make target 'clean'. Stop和make: *** No rule to make target 'all'. Stop的一个解决方法

    问题: 最近在用S32DS调试代码的时候,遇到一个稀奇古怪的问题: and 折腾了半天,发现从这个页面导入工程编译就不会出现这个问题???? file-->import projects fro ...

  5. 【python基础】复杂数据类型-字典(嵌套)

    有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套.我们可以在列表中嵌套字典.在字典中嵌套列表.在字典中嵌套字典. 1.列表嵌套字典 我们可以把一个人的信息放在字典中,但是多 ...

  6. 面试官:“同学,你做的这几个项目都不错。但怎么问QPS你就胡说呢?”

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 这位同学,你比上一位面试者好多了,你的简历中做的几个项目都不错.既有业务项目,也有技术项目,看 ...

  7. uniapp-chatgpt跨端仿ChatGPT实例|uniapp+vue3+pinia多端聊天模板

    基于uniapp+vite4+pinia跨多端实现chatgpt会话模板Uniapp-ChatGPT. uni-chatgpt 使用uni-app+vite4+vue3+pinia+uview-plu ...

  8. 2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 :

    2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 : ...

  9. JVM之指针压缩

    做java开发的同学一般都比较熟悉JVM,那么关于指针压缩这块内容是不是也了解呢,不熟悉的小伙伴往下看吧. 首先说明,本文涉及的JDK版本是1.8,JVM虚拟机是64位的HotSpot实现为准. ja ...

  10. CSS_相关问题及解决_持续更新

    css_margin塌陷问题 问题描述 <div class="father"> <div class="child1"></di ...