QT中编译和使用OPENCV

一、编译

之前用VS2010编译的opencv可以在qt中使用,就没有去管,最近发现有点bug,遂想用QT,准确地说是用mingw重新编译下。

在opencv项目主页下载欲编译的版本,我用的是2.1,地址:http://sourceforge.net/projects/opencvlibrary/

网上很多教程都是讲使用,讲编译的很少,这篇倒是道出了一点门道:http://blog.csdn.net/neyes/article/details/5908137

1.先要把D:\QtSDK\mingw\bin放入环境变量(QT安装目录不同会不同)

2.使用CMake-gui,选择mingw编译,configure&generate

3.使用mingw32-make.exe对generate出来的目录进行编译。

4.在编译过程中发现了一个错误:/src/highgui/../../3rdparty/lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x6e1e): undefined reference to `_Unwind_SjLj_Unregister'

经查找发现是2.1一个通病,需要将http://pyopencv.googlecode.com/files/libvideoInput.a下载的文件替换原文件。

二、使用

使用的方法网上就有很多了,在pro文件中写入代码

opencv_dir=C:\OpenCV2.1

INCLUDEPATH += $$opencv_dir\include\opencv210
LIBS += $$opencv_dir\lib\libcv.dll.a \
        $$opencv_dir\lib\libcv210.dll.a \
        $$opencv_dir\lib\libcvaux210.dll.a \
        $$opencv_dir\lib\libcxcore210.dll.a \
        $$opencv_dir\lib\libhighgui210.dll.a

这样基本就可以使用了。

三、其他参考网址

1.build fails on MinGW: libvideoInput, SSE, examples: https://code.ros.org/trac/opencv/ticket/587

2.在Qt中使用OpenCV库:http://www.opencv.org.cn/index.php/%E5%9C%A8Qt%E4%B8%AD%E4%BD%BF%E7%94%A8OpenCV%E5%BA%93

3.Mingw编译最新版本的OpenCV代码:http://www.opencv.org.cn/index.php/Mingw%E7%BC%96%E8%AF%91%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84OpenCV%E4%BB%A3%E7%A0%81

posted @ 2012-04-23 20:28  Vincent_Xue  阅读(1070)  评论(0编辑  收藏  举报