OpenCV-3.4.2基于Qt-5.10.1的编译

由于本人在使用CMake和MinGW编译OpenCV是遇到了很多问题,在这里记录下来。至于所需软件的安装和相应环境变量的设置,网上有很多详细的教程,这里不再重复。

软件环境:
⦁ Windows-10-64bit
⦁ Qt-5.10.1
⦁ OpenCV-3.4.2
⦁ CMake-3.11.1

添加 MinGW 到环境变量
为系统变量 Path 添加 D:\Qt\Qt5.10.1\Tools\mingw530_32\bin

使用 CMake 生成 OpenCV 的 Makefile:
打开 cmake-gui,设置源码和生成路径:
⦁ Where is the source code: D:\OpenCV\opencv-3.4.2
⦁ Where to build the binaries: F:\Others\OpenCV

点击 Configure,设置编译器:
⦁ Specify the generator for this project: MinGW Makefiles
⦁ Specify native compilers
然后:
⦁ Compilers C: D:\Qt\Qt5.10.1\Tools\mingw530_32\bin\gcc.exe
⦁ Compilers C++: D:\Qt\Qt5.10.1\Tools\mingw530_32\bin\g++.exe
最后点:Finish

预处理:
修改D:\OpenCV\opencv-3.4.2\modules\videoio\src\cap_dshow.cpp文件,在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE,如:
#define NO_DSHOW_STRSAFE
#include "DShow.h"

编译配置:
⦁ 勾选 WITH_OPENGL
⦁ 勾选 WITH_QT
⦁ 勾选 WITH_OPENMP(用于并行计算)
⦁ 勾选 ENABLE_CXX11
⦁ 不勾选 ENABLE_PRECOMPILED_HEADERS
⦁ 不勾选 WITH_IPP
⦁ 不勾选 WITH_TBB(OpenCV-3.4.2版本出现的问题,之前的版本需要看情况)
⦁ 不勾选 WITH_MSMF(同上)
点击 Configure,Generate 生成 Makefile

编译 OpenCV:
在build目录空白处按住快捷键win+R,运行cmd
打开终端进行编译:mingw32-make (之前需要设置环境变量)
该过程一般需要很长时间,接近一个小时

装载Opencv:
mingw32-make install
该命令会将编译后生成的头文件及动态库文件复制到目录:“F:\Others\OpenCV\install”。该目录包括运行OpenCV程序所需要的全部资源。

参考链接:
https://blog.huihut.com/2017/12/03/CompiledOpenCVRunInQt/
https://blog.csdn.net/quxing10086/article/details/79576085
https://blog.csdn.net/davidhopper/article/details/78757572
http://answers.opencv.org/question/192758/compile-error-when-compiling-for-windows-341-dev/

最新文章

  1. cordova编译报错:Execution failed for task ':processDebugResources'
  2. 关于sql用<>不等于查询数据不对问题
  3. sqlplus实现上下翻页设置
  4. Event事件跨浏览器封装
  5. SharePoint 2013 Nintex Workflow 工作流帮助(八)
  6. Android系统编译脚本理解
  7. [置顶] MapReduce 编程之 倒排索引
  8. 给iOS 模拟器“安装”app文件
  9. 理解URI和URL
  10. 网站开发常用jQuery插件总结(13)定位插件scrollto
  11. 201521123006 《java程序设计》 第9周学习总结
  12. hadoop dfs.datanode.du.reserved 预留空间配置方法
  13. 大数据基础-2-Hadoop-1环境搭建测试
  14. java @FunctionalInterface
  15. Java语法基础学习DayFifteen(IO续)
  16. Linux 下查看局域网内所有主机IP和MAC
  17. SVN Attempted to lock an already-locked dir异常解决方法
  18. Atcoder:AGC004F Namori
  19. 《MySQL Workbench数据建模与开发》
  20. (转帖整理)Linux下的Autoconf和AutoMake(理论篇) 1

热门文章

  1. vue 学习一
  2. C语言中存储类别、链接与内存管理
  3. Experimental Educational Round: VolBIT Formulas Blitz A
  4. swagger demo code
  5. Beam概念学习系列之PCollection数据集
  6. nexus 私服相关的配置
  7. Nginx + Keepalived 实例(测试可行)
  8. SWIG 和 Python——c/c++与脚本交互
  9. Apache和PHP的相关配置
  10. postMessage解决跨域跨窗口消息传递