OpenCV+QT5在Window下的环境配置记录
在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成。
虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译后的源文件都会和库文件去进行链接。
这就导致不同的编译器可能需要不同的库。所以,下载得到源文件之后,要用指定的编译器重新编译。
0. 需要的工具
- Qt Creator
- OpenCV
- CMake
- cmd
1. Qt Creator安装
这里Qt Creator的安装不在赘述,由于Qt提供的在线下载器太慢,可以直接去qt的离线下载界面下载,使用迅雷会比较快。详细操作可以参考这里。笔者使用的是5.9.0版本。
注意,这里需要在环境变量中的Path变量下添加Qt\Qt5.9.0\Tools\mingwxx_xx\bin路径。例如我在这里添加了F:\Qt\Qt5.9.0\Tools\mingw530_32\bin,否则后面的CMake可能在Configure过后没有对应的选项!
2. OpenCV的下载安装
OpenCV也可以直接在官网下载,这里选择对应的Windows版本,下载后安装。
安装完成后,在环境变量中添加Path变量,我添加的地址为F:\environment\opencv\build\bin。
3. CMake的下载使用
CMake可以直接在官网下载,注意安装的是带有界面的cmake-3.6.1-win64-x64.msi。
安装后打开cmake-gui.exe,Browse Source下选择安装的opencv下的sources文件夹,Browse Build可在opencv下新建一个release目录并选择,完整后点击左下角的Configure,选择MinGW Makefiles。
点击后CMake开始运行,过一段时间,中间会出现许多红色的选项,勾选WITH_OPENGL和WITH_QT,再次点击Configure。
运行完毕后可能还会出现部分红色选项,分别以下表选择对应项目。(有可能只有部分)
| Name | Value |
|---|---|
| QT_QMAKE_EXECUTABLE | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/qmake.exe |
| QT_MKSPECS_DIR | .../Qt/Qt5.3.1/5.3/mingw482_32/mkspecs |
| QT_QTCORE_LIBRARY_DEBUG | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Cored.dll |
| QT_QTCORE_LIBRARY_RELEAS | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Core.dll |
| QT_QTCORE_INCLUDE_DIR | .../Qt/Qt5.3.1/5.3/mingw482_32/include/QtCore/5.3.1/QtCore |
| Qt5_DIR | .../Qt/Qt5.3.1 |
注意:如果你在安装Qt5后,没有给Qt5添加环境变量的话,那么在这一步,CMake软件是不会找到这些和Qt5相关的项的。
配置完成后再次Configure,没有红色选项,CMAKE_BUILD_TYPE选择Release类型,再次点击Configure后没有报错,点击Generate。
在Generate结束后需要使用cmd来最后编译生成我们需要的动态dll库。
4. 在cmd中使用mingw32-make命令构建dll库
打开cmd,使用cd命令进入我们刚才在CMake里Browse Build选项中选择的目录,笔者的为F:\environment\opencv\release。(这里可能cd不进去,Windows下切换磁盘直接输入磁盘符+冒号就可以切换到其他盘了)。
f:
cd F:\environment\opencv\release
mingw32-make
等待构建成功后,该目录下的include目录和lib目录下就生成了我们需要的库了。
5. 在Qt Creator的.pro文件中添加配置
在你需要使用OpenCV的项目的.pro文件中添加配置
INCLUDEPATH += E:\opencv-4.0.1-Sources\opencv-build\install\include
LIBS += E:\opencv-4.0.1-Sources\opencv-build\lib\libopencv_*.a
OpenCV+QT5在Window下的环境配置记录的更多相关文章
- php在window下的环境配置(VC9)
配置PHP5: 1. 配置PHP5.3.3,打开php安装目录(笔者是D:\php\php5)可以看到目录下有两个这样的文件php.ini- development和php.ini-produ ...
- Window下PHP环境配置使用Redis总结
什么是Redis? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.它和Memcached类似,它支持存储的 ...
- Qt在window下的环境变量PATH的配置
Qt在window下的环境变量PATH的配置 路劲: C:\Qt\Qt5.6.0\5.6\mingw49_32\bin C:\Qt\Qt5.6.0\Tools\mingw492_32\bin 发布Qt ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说
版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置
图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...
- Window下mysql环境配置问题整理
Window下mysql环境配置问题整理 参考如下链接. 无需安装解压版mysql包 创建选项配置 首次启动服务 用mysqld初始化目录 安装后设置和测试 启动服务错误信息 管理员模式打开cmd m ...
- Window 下 MySQL 环境的安装
Window 下 MySQL 环境的安装 简介: MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Manageme ...
随机推荐
- 【C# 线程】IntPtr 类
IntPtr类由来 .NET提供了一个结构体System.IntPtr专门用来代表句柄或指针.句柄是对象的标识符,当调用这些API创建对象时,它们并不直接返回指向对象的指针,而是会返回一个32位或64 ...
- JZ-023-二叉搜索树的后序遍历序列
二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 题目链接: 二叉 ...
- LeetCode-023-合并K个升序链表
合并K个升序链表 题目描述:给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例说明请见LeetCode官网. 来源:力扣(LeetCode) 链 ...
- 在 k8s 以外的分布式环境中使用 Dapr
在Dapr 文档和实践案例中多是推荐采用k8s, 其实我目前也是在k8s 上操作的,有公有云TKE,AKS,还有私有云的Rancher ,它并没有传闻中的那么难,而且我认为它非常容易上手.不过,我还是 ...
- ELKB-ElasticSearch-Logstash-Kibana-beats 个人理解
先说一下ELK,E是ElasticSearch,L是Logstash,K是Kibana,还有一个Beats.按照从采集到展示的顺序介绍下各个组件的作用. 1.Beats Beats 是一个免费且开放的 ...
- 微服务从代码到k8s部署应有尽有大结局(k8s部署)
我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中 ...
- 题解 P1659 【[国家集训队]拉拉队排练】
一眼可得PAM 如果没学过PAM的可以看这里:PAM学习小结 我们令PAM上多记录一个信息\(sum\),表示该节点表示串在原串上出现了多少次. 当我们处理完了\(sum\),对于长度\(len\)为 ...
- php 魔术方法,未声明属性,数组的注释 - 帮助ide跳转,提高可读性
本人使用vscode编辑器.其他编辑器未测试. 经过1: 用laravel开发了一段时间,最麻烦的一点就是许多时候编辑器无法智能提示和辅助跳转. 有一款ide-helper的插件,感觉不是很好用,经常 ...
- 堆优化Dijkstra算法
但是,我们会发现刚刚讲的朴素Dijkstra算法(高情商:朴素 : 低情商: 低效)的套路不适用于稀疏图,很容易会爆时间: 所以,我们要对其中的一些操作进行优化,首先我们发现找到里起始点最近的点去更新 ...
- [WPF] 如何实现文字描边
1. 前言 WPF 的 TextBlock 提供了大部分常用的文字修饰方法,在日常使用中基本够用.如果需要更丰富的表现方式,WPF 也提供了其它用起来复杂一些的工具去实现这些需求.例如这篇文章介绍的文 ...