Qt_mingw搭建opencv开发环境
Qt在windows下共有2个版本:mingw和msvc。其中mingw使用gcc编译器,msvc使用微软的VC编译器。针对不同版本Qt,使用Opencv的方式也不同。
区别
- msvc, 可以使用opencv-for-window中对应的vc编译版本;
- mingw,需要使用Qt的qmake和对应编译器,使用opencv源码进行编译;
mingw编译Opencv
环境
- 操作系统: windows10
- Qt版本: Qt5.8_mingw5.3.0 32bit
- Opencv版本: Opencv 3.10 Or 3.20
- cmake: cmake-gui 3.8.0
注: mingw编译器和Opencv版本需要对应,版本不对,配置过程难以完成。
编译过程
1.下载Opencv源码
2. 安装cmake并在Qt中找到cmake
3.打开CMakeList
文件
【Qt Creator】-【文件】-【打开文件或工程】- 找到源码中的makelist
文件并打开
弹出的配置窗口,选择编译配置环境为mingw
4. 配置cmake
进入项目,并选择release
等待Qt完成CMakeList
文件读取,在CMake选项中进行配置,设置编译结果导出位置,CMAKE_INSTALL_PERFIX
和BUILD_opencv_world
。前者设置编译输出结果位置,后者设置opencv最终结果为一个库文件。
配置完成以后,按下下方的Aplly按钮。
5. 配置构建选项
6. 开始构建
搭建开发环境
1. 添加头文件路径和库
在工程的.pro
文件中,设置头文件路径和头文件
INCLUDEPATH += D:/opencv/OpencvMingw/build/opencv-3.1/include
LIBS += D:/opencv/OpencvMingw/build/opencv-3.1/x86/mingw/lib/libopencv_*
2. 添加bin
到环境变量
在系统环境变量中添加bin
文件路径。
3. 简单图片显示
#include <QCoreApplication>
#include <QDebug>
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "start";
cv::Mat im0 = imread("d://dlrb.png");
namedWindow("Qt OPENCV DEMO");
imshow("Qt OPENCV DEMO", im0);
waitKey(-1);
return a.exec();
}
问题
编译运行,报错并提示 exited with code -1073741510
,该问题主要是由于环境变量未生效造成的,将bin
目录下的dll
复制到可执行文件目录下即可。
参考
Qt_mingw搭建opencv开发环境的更多相关文章
- 【OpenCV】 在CentOS下搭建OpenCV开发环境
最近开始入模式识别的坑,自然被迫上OpenCV了. 在多次尝试给VS2015扩展Windows 10 SDK无果后(不要问我为啥..VS2015开发C++的标准库全给扔到这个SDK里了,打包在VS安装 ...
- OpenCV2学习笔记02:MSVC2013搭建OpenCV开发环境
我这里编译的库是通过手动编译的.只是需要注意的是,手动编译一般会产生大量的文件,差不多7个多G的样子,实在是有点浪费硬盘存储呀,其实我们可以删除掉没有用的东西.因为我们在编译的时候指定了一个目录比如我 ...
- Win10+QT5.7.1搭建opencv开发环境
一.准备工作: 1下载Qt5.7.1软件qt-opensource-windows-x86-mingw530-5.7.1.exe(http://download.qt.io/official_rele ...
- (12)QT中搭建opencv开发环境
只需要在项目工程文件pro中添加上: INCLUDEPATH += G:/opencv/build/include \ G:/opencv/build/include/opencv \ G:/open ...
- Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境
Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- IntelliJ OpenCV 开发环境搭建
Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...
- Zynq7000开发系列-5(OpenCV开发环境搭建:Ubuntu、Zynq)
操作系统:Ubuntu14.04.5 LTS 64bit OpenCV:OpenCV 3.1.0.opencv_contrib gcc:gcc version 4.8.4 (Ubuntu 4.8.4- ...
- arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)
arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...
随机推荐
- idea log4j 用法
1.导入jar包 这里用的maven导入 <!-- LOGGING begin --> <dependency> <groupId>org.slf4j</gr ...
- 【题解】 bzoj3105: [cqoi2013]新Nim游戏 (线性基+贪心)
bzoj3105,懒得复制 Solution: 首先你要有一个前置技能:如果每堆石子异或和为\(0\),则先手比输 这题我们怎么做呢,因为我们没人要先取掉几堆,为了赢对方一定会使剩下的异或和为\(0\ ...
- CRM 常用SQL 脚本
1. 查询角色.用户 SELECT DISTINCT DomainName, u.FullName , u.FirstName, u.InternalEM ...
- BZOJ4912 [Sdoi2017]天才黑客 【虚树 + 最短路】
题目链接 BZOJ4912 题解 转移的代价是存在于边和边之间的 所以把边看做点,跑最短路 但是这样做需要把同一个点的所有入边和所有出边之间连边 \(O(m^2)\)的连边无法接受 需要优化建图 膜一 ...
- java JNative调用DLL中带引用类型的方法
DLL中的被调函数有两个参数,第二个参数是int64类型的引用类型,因此创建8byte的MemoryBlock: JNative n = null; try { n = new JNative( ...
- vi基础学习总结
标签(空格分隔): vi 总结 vi是几乎所有类Unix/Linux系统下都默认装有的常用文本编辑工具.本文记录初学vi的一些小知识. 0.界面模式 在命令行使用"vi"编辑文档时 ...
- JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】
转: JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的s ...
- zabbix agent安装(三)
转载于https://mp.weixin.qq.com/s/33ab-JLoRfMkeI4aZDciJQ 前一篇文章介绍了zabbix server安装,这篇文章主要讲解zabbix agent安装以 ...
- shell jq
Mark 下,周末来补充 参考资料: https://stedolan.github.io/jq/tutorial/
- 《高性能MySQL》——第一章MySQL的架构与历史
1.可以使用SHOW TABLE STATUS查询表的相关信息. 2.默认存储引擎是InnoDB,如果没有什么很特殊的要求,InnoDB引擎是我们最好的选择. 3.mysql的infobright引擎 ...