qt5.3.1+opencv2.4.9编译环境的搭建

到官网下载qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe文件,执行该文件,选择默认安装即可实现QT的安装(安装在C盘的根目录下),该文件封装好了Qt librariesQt Creator,其中Qt Creator3.1.2版本。

到官网http://opencv.org/downloads.html下载OpenCV for Windows2.4.9版本——opencv-2.4.9.exe。执行该文件,把它解压到适当的目录下即可,我是把它放到了c盘的根目录下,即c:\opencv

 

http://www.cmake.org/cmake/resources/software.html下载cmake-3.0.1-win32-x86.exe文件。安装cmake,安装在C:\CMake目录下。

 

设置系统的环境变量,即把C:\Qt\Qt5.3.1\Tools\MinGW\bin加入系统的Path环境变量中,因为在CMake编译过程中会用到该目录下的库。

 

在桌面上点击CMake(cmake-gui)图标,执行CMakeWhere is the source code栏和Where to build thebinaries栏中分别C:/opencv/sourecesopencvC:/opencv/MinGW。C:/opencv/MinGW为编译后库文件所存放的目录,需要自己创建该目录。然后点击configure按钮,打开新的窗口,在Specify the generator for this project下选择MinGW Makefiles,然后选择Specify native compilers,点击Next按钮,打开新的窗口,C一栏中填写C:/Qt/Qt5.3.1/Tools/mingw482_32/bin/gcc.exe,在C++一栏中填写C:/Qt/Qt5.3.1/Tools/mingw482_32/bin/g++.exe,Fortran不填写。然后点击Finish按钮,开始配置,这时会出现如下的类似错误提示:

CMake Error: CMake was unable to find abuild program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different buildtool.

CMake Error: CMake was unable to find abuild program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different buildtool.

CMake Error: Error required internal CMakevariable not set, cmake may be not be built correctly.

Missing variable is:

CMAKE_CXX_COMPILER_ENV_VAR

CMake Error: Could not find cmake modulefile: C:/opencv/MinGW/CMakeFiles/3.0.1/CMakeCXXCompiler.cmake

CMake Error: Error required internal CMakevariable not set, cmake may be not be built correctly.

Missing variable is:

CMAKE_C_COMPILER_ENV_VAR

CMake Error: Could not find cmake modulefile: C:/opencv/MinGW/CMakeFiles/3.0.1/CMakeCCompiler.cmake

Configuring incomplete, errors occurred!

找到NameCMAKE_MAKE_PROGRAM的一项,把它的Value填写为C:/Qt/Qt5.3.1/Tools/mingw482_32/bin/mingw32-make.exe即可。再次点击Configure,这时不会提示任何错误,表明配置成功。

我们还需要把QT加上,找到WITH,把它下面的WITH_QTWITH_OPENGL选上,再次Configure。这时会出现类似下面的错误提示:

CMake Error atC:/CMake/share/cmake-3.0/Modules/FindQt4.cmake:1316 (message):

 Found unsuitable Qt version "" from NOTFOUND, this coderequires Qt 4.x

Call Stack (most recent call first):

 cmake/OpenCVFindLibsGUI.cmake:34 (find_package)

 CMakeLists.txt:466 (include)

找到QT_QMAKE_EXECUTABLE,它的值填写为:C:/Qt/Qt5.3.1/5.3/mingw482_32/bin/qmake.exe

找到QT_MKSPECS_DIR,它的值填写为:C:/Qt/Qt5.3.1/5.3/mingw482_32/mkspecs

找到QT_QTCORE_LIBRARY_DEBUG,它的值填写为:C:/Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Cored.dll

找到QT_QTCORE_LIBRARY_RELEASE,它的值填写为C:/Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Core.dll

找到QT_QTCORE_INCLUDE_DIR,它的值填写为C:/Qt/Qt5.3.1/5.3/mingw482_32/include/QtCore/5.3.1/QtCore

再次点击Configure,这时会出现类似下面的错误提示:

CMake Error atC:/CMake/share/cmake-3.0/Modules/FindQt4.cmake:1316 (message):

 Found unsuitable Qt version "5.3.1" from

 C:/Qt/Qt5.3.1/5.3/mingw482_32/bin/qmake.exe, this code requires Qt 4.x

Call Stack (most recent call first):

 cmake/OpenCVFindLibsGUI.cmake:34 (find_package)

 CMakeLists.txt:466 (include)

Ungrouped Entries下找到Qt5Concurrent_DIRQt5Core_DIRQt5Gui_DIRQt5Test_DIRQt5Widgets_DIRQt5OpenGL_DIR,它们的Value分别填写为:

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5Concurrent

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5Core

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5Gui

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5Test

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5Widgets

C:/Qt/Qt5.3.1/5.3/mingw482_32/lib/cmake/Qt5OpenGL

再次Configure,这时配置完成,不会出现任何错误提示。虽然会有许多警告,如This warning is for project developers.  Use -Wno-dev to suppress it.,但不用去管,按GenerateGenerate完成后,关闭CMake窗口。

打开系统的命令终端,进入C:\opencv\MinGW目录,执行mingw32-make命令,这需要一段时间,该命令执行完后,再执行mingw32-make install命令。这样可用于Qtopencv库文件就生成了。

再次添加系统的Path环境变量,内容为:c:\Qt\Qt5.3.1\5.3\mingw482_32\bin;c:\opencv\MinGW\bin

以后我们用Qt Creator编译opencv的时候,在创建一个新工程后,还需要在该工程的工程文件.pro文件内添加下列语句:

INCLUDEPATH+=c:\opencv\build\include\opencv\

c:\opencv\build\include\opencv2\

       c:\opencv\build\include

 

LIBS+=c:\opencv\MinGW\lib\libopencv_calib3d249.dll.a\

  c:\opencv\MinGW\lib\libopencv_contrib249.dll.a\

  c:\opencv\MinGW\lib\libopencv_core249.dll.a\

  c:\opencv\MinGW\lib\libopencv_features2d249.dll.a\

  c:\opencv\MinGW\lib\libopencv_flann249.dll.a\

  c:\opencv\MinGW\lib\libopencv_gpu249.dll.a\

  c:\opencv\MinGW\lib\libopencv_highgui249.dll.a\

  c:\opencv\MinGW\lib\libopencv_imgproc249.dll.a\

  c:\opencv\MinGW\lib\libopencv_legacy249.dll.a\

  c:\opencv\MinGW\lib\libopencv_ml249.dll.a\

  c:\opencv\MinGW\lib\libopencv_objdetect249.dll.a\

  c:\opencv\MinGW\lib\libopencv_video249.dll.a

 

完成!

原文地址:http://blog.csdn.net/zhaocj/article/details/38944037

--------------------------------------------------------------------------------------------

以上是转载的。下面是我遇到的问题以及解决方案。

我先用了CMAKE的绿色版,出现了跟多问题。后改用安装版,而且在配置的时候要指定好C/C++编译器的路径,只要在QT安装目录中找即可找到,Configure成功。接着Generate也成功。如果不成功,可能的问题是QT安装路径里面有空格、环境变量没有配置好等等。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark2内存调优总结 - 内存划分 与 内存计算 与 调参方式

使用的Spark2以上版本所以只考虑UnifiedMemoryManager动态内存管理,如图: 1. 内存划分 与 内存计算 与 调参方式 1.1 三部分:Spark内存、用户内存、预留内存 预留内存:300MB 固定Spark内存和用户内存比例由参数spark.memory.fra…

java 通过id获取html代码_Maven私服安装配置,java通过私服下载代码,并打包后上传到私服(Nexus)...

Maven私服一般安装Nexus。首先,Nexus下载,访问Nexus官方网址https://www.sonatype.com/download-nexus-repo-oss下载完成后是个压缩包第二步 配置:1)将上一步下载的nexus解压2)端口和监听配置application-port:监听端口applicatio…

Qt下OpenCv中cvGetWindowHandle的使用

昨天因为OpenCv自带的 cvNamedWindow 功能不多,所以想修饰一下,添加几个控件上去,结果获取不到句柄或指针。试了半天无效,于是就准备放弃,打算自己写一个对话框,但是感觉有点麻烦,而且心里不爽&…

一些网站github等无法连接服务器的解决办法

1.打开站长工具 http://tool.chinaz.com/speedtest/ 2.搜索github.com/ 3. 点击总耗时-排序 4. 拿到延迟最低的ip地址20.205.243.166 5.修改本地dns windows:C:\Windows\System32\drivers\etc 修改hosts文件,末尾添加 20.205.243.166 github.com Lin…

【转】异步编程系列(Thread、Task、async/await、ajax等)

序 经过一番努力,我写的异步编程系列也算有头有尾,当然不是说这个系列已经更新完毕,这个头尾只是表示新旧知识点都有简单涉及到,接下去我还会丰富这一系列并且有机会整个小应用(愿景是弄一个开源组件吧,结合…

linux里qt画直线_Qt与Web混合开发(一)简单使用

前言《Qt与Web混合开发》系列文章,主要讨论Qt与Web混合开发相关技术。这类技术存在适用场景,例如:Qt项目使用Web大量现成的组件/方案做功能扩展,Qt项目中性能无关/频繁更新迭代的页面用html单独实现,Qt项目提供Web形式…

ES curator离线安装与部署

1.版本: es:6.5.1 curator:5.8.4 下载地址:https://www.elastic.co/guide/en/elasticsearch/client/curator/current/yum-repository.html#_signing_key_2 2.连接不上网站怎么办? 出现无法访问此网页的话&#xff0…

Qt中qss的使用

Qt支持css样式表,它是网页中用来控制显示的脚本,功能丰富,可以很方便的实现各种显示效果。如果想进一步了解其语法以及使用,可访问www.w3school.com.cn。好在之前在写网站,比较熟悉。 给一个控件添加样式表&#xff0…

【转】1.1异步编程:线程概述及使用

从此图中我们会发现 .NET 与C# 的每个版本发布都是有一个“主题”。即:C#1.0托管代码→C#2.0泛型→C#3.0LINQ→C#4.0动态语言→C#5.0异步编程。现在我为最新版本的“异步编程”主题写系列分享,期待你的查看及点评。 传送门:异步编程系列目录……

安装python3.7.0的步骤_python 3.7.0 安装配置方法图文教程

本文记录了python 3.7.0 安装配置方法,供大家参考,具体内容如下 s1登入python官网 s2下载后缀为exe的可执行文件,并根据自己电脑/主机的系统选择32位还是64位。双击选择“python for windows”() 出现选择下载页面&…

ES:记录curator+nfs进行索引备份、创建快照的一次实践

1. 安装curator工具 下面是我离线安装的过程 https://blog.csdn.net/weixin_43736084/article/details/121775484?spm1001.2014.3001.5501 2.使用fs建立es存储库 我们使用NFS,下面是官网给出的几种仓库类型 2.1 fs建立存储库的注意事项 注意事项,…

Qt : 记录一个编译错误

是信号和槽的使用出现的问题: undefined reference to vtable for ** 解决办法见 http://jingyan.baidu.com/article/47a29f2453d772c0142399ba.html

【转】1.2异步编程:使用线程池管理线程

从此图中我们会发现 .NET 与C# 的每个版本发布都是有一个“主题”。即:C#1.0托管代码→C#2.0泛型→C#3.0LINQ→C#4.0动态语言→C#5.0异步编程。现在我为最新版本的“异步编程”主题写系列分享,期待你的查看及点评。 传送门:异步编程系列目录……

python matplotlib画散点图_python matplotlib库绘制散点图例题解析

假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16…

超好的Git学习网站

超好的Git学习网站 Git很强大,但是学起来太困难了。各种名词很容易搞糊涂,让人丧失兴趣。 那么问题来了,有没有好的教程呢? 偶然间发现这几个网站简直是闲得没事干,做出来这么好的入门教程,比起来纯文字…

Hadoop集群HDFS各节点磁盘使用率不平衡,使用balancer做数据平衡

HDFS上各节点磁盘大小不一致,新增节点 数据平衡前,是非常不均衡的,某些节点已经接近90了 集群的数据平衡已经迫在眉睫,必须要搞一搞了。 1.设置传输速率 我这里是万兆网卡,就先设置100M了 在两台master上分别执行&a…

【转】1.3异步编程:线程同步基元对象

开始《异步编程:同步基元对象(上)》 示例:异步编程:线程同步基元对象.rar 如今的应用程序越来越复杂,我们常常需要多线程技术来提高我们应用程序的响应速度。每个线程都由自己的线程ID,当前指令…

怎么查询共享使用人_企业微信微盘怎么共享使用?企业微信如何设置微盘权限?...

使用企业微信办公时,如果有文件需要共享给员工,我们可以将文件上传到微盘的共享空间中,让员工自行下载并查看。那么在企业微信中,我们该如何创建共享空间呢?1如何创建微盘共享空间企业微信微盘共享空间分为两种&#x…

Qt Quick学习笔记

QML Types 是指用C写出来的一个一个Type。 而QML语言本身是组织这些Type的语法。而QML自己也有一些基本类型,就像是C语言有int,float. Attached property和Attached signal handler. 是指只在某些使用方法下,系统为某个对象提供的额外的、附加的属性。普…

HDFS和Spark配置LZO压缩,Spark读取LZO创建正常Task数量

1.说明 为了解决,数据日益增长并且目前使用Snappy压缩导致的Spark读取时会出现OOM,并且处理起来速度过慢的问题,决定使用LZOIndex来解决问题。 线上Hadoop版本3.2.1,Spark2.3.1,Lzo使用最新版0.4.21 2.未解决的问题…