win7 32bit + opencv2.4.4 + qt 5.2.1搭配环境常见问题总结
来源:互联网 发布:生物圈二号 知乎 编辑:程序博客网 时间:2024/05/20 10:55
这是我在百度空间里面发的文章,本来想一直用下去的,结果出现了问题,写好文章之后发不了,很担心会丢失,所以跑到CSDN来,这是发表于3-27的那篇。网址如下:
http://hi.baidu.com/song121321/item/5082f380c48052df5e0ec198
这几天搭配opencv+qt的环境,由于是第一次接触,期间遇到各种问题,现在将所遇问题总结如下:
1 需要工具:我是用的是opencv2.4.4,qt5.2.1,Cmake的版本是2.8.12.1,环境是win7旗舰版32位操作系统
2 关于各种软件的安装以及配置,具体过程不细说了,网络上有很多的版本,推荐这个http://wenku.baidu.com/link?url=sFZFR1qIDAJFvgI2E_XFlSU0PbTHFvui6KwatJ_-S-NV8AYT8hniH8P-aUzHRTgfOOdFEYTGc5Ml1SU-JzSdEgtXkdAHtW3XiSIaVHf3dx3,这里虽然是64位的,但是我用32位的亲测可行。
3 关于上述文档,有几点需要强调
1)文章中说勾选WITH_OPENGL 和WITH_QT 两个选项,这里可以不用选择WITH_OPENGL那个,因为就算你添加了也会说NOT_FOUND的错误,而且我们这里也用不到这个。
2)WITH_QT 是一定要选的,当点击configure 按钮之后会出现以下的红色选项如下图:
注意我标记的qmake那条(最重要的),如果也不对,就是环境变量的事情了,你需要检查环境变量,然后将qmake的路径写进去。另外两条如果不加修改,查看下面的输出信息会发现这样的warning
所以,给这两个加上路径,我的路径是这样的C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin\Qt5Cored.dll.
在之后基本就没问题了,点击generate生成就可以了。
4,关于配置问题:
1),问题描述:C:\OpenCV\include\opencv\cv.h:63: error: opencv2/core/core_c.h: No such file or directory
#include "opencv2/core/core_c.h"
分析:查看你的pro文件是不是以下两个图片所示:
而且当你把鼠标放在头文件那里的时候,还是会出现找到头文件,但是一编译就会出错
点击错误后,会跳转到opencv的头文件中,貌似要修改源码???
解决办法:此处需要将include放在第一个,具体原因不明,或许是系统默认第一个是根目录吧,修改后的pro文件如下:
2),:-1: error: cannot find C:\OpenCV\lib: Permission denied
collect2.exe:-1: error: error: ld returned 1 exit status
分析:查看pro文件,在LIBS那个地方是不是只写了一句。LIBS+=C:\OpenCV\lib\
解决方法:不要偷懒,这个全部写上。
3)史上最坑爹的错误:D:\project\demo\main.cpp:10: error: undefined reference to `cvLoadImage'
D:\project\demo\main.cpp:12: error: undefined reference to `cvNamedWindow'
D:\project\demo\main.cpp:14: error: undefined reference to `cvShowImage' 。。。and so on
此问题曾经让我几近崩溃,整整弄了5天。
分析:查看编译窗口的输出信息:会发现命令是这样的:g++ -Wl,-subsystem,console -mthreads -o debug\demo.exe debug/main.o-LC:\Qt\Qt5.2.1\5.2.1\mingw48_32\lib -lQt5Cored
而正常的编译时没有这个-L的,所以一定是这里的问题!
解决方法:其实方法很简单,其实就是一个空格的事儿,将.a文件之间的空行去掉就行,这里要经过多次的清除,可能是本身是qtcreator的BUG吧,一个空格会解释成-L的意义,以下是错误问题和正确的处理之后的效果图。
错误pro文件
解释成的错误命令行
正确修改(.a文件之间把空格都去掉)与INCLUDEPATH之间要留一行
正确的编译行
4)当一切就绪,可恶的 undefined reference to `cvLoadImage' 问题也不见了的时候,点击运行,结果只出现了黑框,图片却没有出现。
解决方法:第一,重启你的QTCtreator,在打开的时候就会出现了
第二,如果还没出现,仔细检查图片路径。
万事开头难,到现在为止,我所遇到的问题就这些,空格那个基本没有资料可查,完全是一点点看出来的,将经验教训写下来,希望能帮到初学的同学吧,欢迎大家补充。
- win7 32bit + opencv2.4.4 + qt 5.2.1搭配环境常见问题总结
- Win7 64bit+OpenCV2.4.11+VS2010配置环境
- Win7(32bit) + VS2012 + Qt
- win8 64bit/win7 32bit/winxp 32bit +QT+opencv环境配置教程,亲测成功
- WIN7 32bit + VS2012 下配置 OpenCV2.4.5
- 在win7(32bit和64bit) visual studio 2010(vs2010)下安装opencv2.3
- 64bit win7+VS2013+opencv2.4.9配置
- opencv2.4.11+vs2010+win7-64bit配置
- win7(64bit)+vs2010+opencv2.4.9
- 64bit win7+VS2013+opencv2.4.9配置
- android 环境搭配 win7环境下
- OpenCV2.3.1+Qt SDK1.2.1安装配置详解(WIN7环境下安装)
- win7 32bit 用qmake编译qt程序
- QT + MinGW + QT creator (XP 32bit sp3 环境)
- win7+IIS+php+mysql环境搭配
- qt下应用opencv2.1,环境windows xp sp3
- win7(32bit)php+mysql+apache开发环境搭建
- win7 32/64bit VS2010 OpenCV 2.4.9 环境配置
- 日期时间脚本库方法列表
- Struts2中Action result各种转发类型
- ListView项不能完全填充的问题
- android R.java居然报错,Underscores can only be used with source level 1.7 or greater
- 6
- win7 32bit + opencv2.4.4 + qt 5.2.1搭配环境常见问题总结
- Button的使用(二):从资源文件中
- Spring - constructor-arg和property的使用示例
- 23种设计模式之python实现
- 面试第一天总结
- SQLite3 执行sqlite3_prepare_v2的时候提示“Error:no such table: bookCollect”的原因解析
- ubuntu下的截屏工具
- Varargs可变参数
- Q23:从上往下打印二叉树