搞了四个多小时,搜索网上资料和不断尝试,总算在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。
负数的话可能是出现了访问内存越界。