本文主要介绍如何搭建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. 最全面的Mybatis面试八股文

    Mybatis是什么? MyBatis框架是一个开源的数据持久层框架. 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询.存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设 ...

  2. Java实现Kafka生产者和消费者的示例

    Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka的目标是为处理实时数据提供一个统一.高吞吐.低延迟的平台. 文章持续更新,微信搜索「 ...

  3. chess草稿(附代码!)

    2022/8/12日过了,代码如下:(已删除调试语句,保留注释,为了使代码更容易看懂并没有卡常.卡完常的代码不是给人看的) 点击查看代码 /* 倒序操作+合并连通块+维护集合,支持合并.区间查询+线段 ...

  4. Bio+IT 生信科技爱好者知识库

    欢迎来到 Bio+IT 生信科技爱好者知识库! 关于我们 "BioIT爱好者" 是一个专注于生物信息学和 IT 互联网技术的知识库平台,是一个集合了 Bio+IT 相关的数据分析. ...

  5. OSI七层协议剩余、socket模块、半连接池

    传输层之TCP与UDP协议 TCP与UDP都是用来规定通信方式的 通信的时候可以随心所欲的聊 也可以遵循一些协议符合要求的聊 随心所欲的聊:文字 图片 视频 遵循一些协议:开头带尊称 首行空两个 只准 ...

  6. MVC 模式和三层架构

    1. MVC 模式 ‍ MVC 模式和三层架构是一些理论的知识,将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好. ‍ MVC 是一种分层开发的模式,其中: M:Model,业务模型,处理 ...

  7. Python 一大坑,配置文件中字典引用问题(拷贝)。

    大坑 +1 python 配置文件中字典引用问题 最近在开发系统时发现一个传奇的BUG, 用户未登录就可进入系统内,而且含有真实身份信息. 此问题困扰多时,反复debug.由于找不到问题原因,复现具有 ...

  8. 《Effective C++ 改善程序与设计的55个具体做法》读书笔记

    1 .让自己习惯C++ 条款01 视C++为一个语言联邦 C Object-Oriented C++ Template C++ STL C++高效编程守则视情况而变化,取决于你使用C++的哪一部分. ...

  9. 每日一题 力扣 1377 https://leetcode.cn/problems/frog-position-after-t-seconds/

    力扣 1377 https://leetcode.cn/problems/frog-position-after-t-seconds/ 这道题目用dp去做,构建邻接矩阵,做的时候需要注意题目条件,如果 ...

  10. 推荐一款.NET开源跨平台的开箱即用的DNS服务器软件

    前言 今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server. 项目介绍 Technitium DNS Serve ...