QT Create(MinGW)中使用OpenCV2.3

搞了四个多小时,搜索网上资料和不断尝试,总算在QT Create配置好了Opencv2.3了,在此记录一下安装过程。

1.      安装QT

我安装的是QT SDK,安装时选择安装MinGW。

QT的详细安装参见 http://www.yafeilinux.com/?p=515

注意将bin文件夹的路径加入环境变量中,我这里是的bin文件夹的路径加入环境变量中,我这里是”G:\Qt\2010.05\mingw\bin”

将QT的bin文件夹的路径也加入环境变量中,我这里是“G:\Qt\2010.05\qt\bin”

2.      安装CMake与编译OpenCV

安装CMake for win,下载OpenCV2.3 for windows

具体编译过程与设置可参考:http://opencv.willowgarage.com/wiki/MinGW

http://blog.sina.com.cn/s/blog_4dc31b560100qlyc.html

3.      在QT中配置OpenCV

在QT Create中创建一个新工程,在工程的.pro文件里,添加OpenCV的include文件夹路径和库文件路径,添加如下:

INCLUDEPATH +=C:\OpenCV2.3MinGW\install\include

LIBS +=-LC:\OpenCV2.3MinGW\install\lib \

-llibopencv_core230.dll.a \

-llibopencv_highgui230.dll.a

库路径也可以写成:

LIBS += -LC:\OpenCV2.3MinGW\install\lib
LIBS += C:\OpenCV2.3MinGW\install\lib\libopencv_core230.dll.a

LIBS +=C:\OpenCV2.3MinGW\install\lib\libopencv_highgui230.dll.a

 

出现类似undefinedreference to ‘cv::imread’错误,是因为库配置不对,在我的机子中如下的配置不对:

LIBS +=  D:\Qt\OpenCV-2.0.0\lib\libcv200.dll.a\ 

       D:\Qt\OpenCV-2.0.0\lib\libcxcore200.dll.a\ 

       D:\Qt\OpenCV-2.0.0\lib\libml200.dll.a\ 

       D:\Qt\OpenCV-2.0.0\lib\libcvaux200.dll.a\ 

       D:\Qt\OpenCV-2.0.0\lib\libhighgui200.dll.a 

QT编译程序,有时候执行退出时会出现,比如

exited with code3

加载图片失败的时候就返回个3。

负数的话可能是出现了访问内存越界。

补充:

后来又碰到过编译错误  undefined reference to “。。。”

解决方法:

检查是否路径正确,是否按上面格式正确,如果都对仍有这个问题,可能是库的版本不对,qt是用mingw编译器的,所以确保用的库是mingw编译的库。

我的问题就是用错编译器编的库了 

 

posted @ 2011-08-01 09:55  寒山月  阅读(651)  评论(0编辑  收藏  举报