win7下配置OpenCV的Qt开发环境
- 下载所需的工具(都可在对应的官网上下载)
- QT的集成包(qt-opensource-windows-x86-mingw492-5.5.0.exe),它集成了MinGW、Qt Creator等,不需要你再单独下载MinGW和Qt Creator。
- OpenCV3.0.0
- CMake3.3.0
- 安装QT(需要先在官网上注册账号,注意组件选择的时候全选)
- 安装OpenCV设置解压路径就OK
- 安装CMake,过程同样很简单(注意:1、安装路径不能有中文和空格 2、勾选加入所有境变量中)
- 生成Makefiles文件
- 设置系统的环境变量,即把D:\work\qt\5.5\mingw492_32\bin加入系统的Path环境变量中,因为在CMake编译过程中会用到该目录下的库。
- 在桌面上点击CMake(cmake-gui)图标,执行CMake。如图所示,在Where is the source code栏和Where to build thebinaries栏中分别为D:\work\opencvsrc\opencv\sources和D:\work\opencv为编译后库文件所存放的目录,需要自己创建该目录。然后点击configure按钮,打开新的窗口,在Specify the generator for this project下选择MinGW Makefiles,然后选择Specify native compilers,点击Next按钮,打开新的窗口,在C一栏中填写D:/work/qt/Tools/mingw492_32/bin/gcc.exe,在C++一栏中填D:/work/qt/Tools/mingw492_32/bin/g++.exe,Fortran不填写,然后点击Finish按钮,开始配置。
- 此时会出现错误(具体描述与解决方案见:http://bbs.csdn.net/topics/391028493),再次点击Configure,这时不会提示任何错误,表明配置成功。
- 我们还需要把QT加上,找到WITH,把它下面的WITH_QT和WITH_OPENGL选上,并将WITH_IPP的勾选去掉(否则编译的时候会出错),再次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,它的值填写为:D:/work/qt/5.5/mingw492_32/bin/qmake.exe 将Qt5Concurrent_DIR,Qt5Core_DIR,Qt5Gui_DIR,Qt5Test_DIR,Qt5Widgets_DIR,Qt5OpenGL_DIR,它们的Value分别填写为: D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Concurrent D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Core D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Gui D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Test D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Widgets D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5OpenGL 再次Configure,这时配置完成,不会出现任何错误提示。虽然会有许多警告,但不用去管,按Generate。Generate完成后,关闭CMake窗口。
这样makefile文件就生成了。 - 编译OpenCV
- 在D:\work\opencvsrc\opencv\sources\cmake下找到 OpenCVCompilerOptions.cmake
打开它并找到 add_extra_compiler_option(-Werror=non-virtual-dtor) 将它注释掉,变成: #add_extra_compiler_option(-Werror=non-virtual-dtor)
- 打开系统的命令终端,进入D:\work\opencv目录,执行mingw32-make命令,这需要一段时间(大约40分钟)。该命令执行完后,再执行mingw32-make install命令。这样可用于Qt的opencv库文件就生成了。
- 在D:\work\opencvsrc\opencv\sources\cmake下找到 OpenCVCompilerOptions.cmake
- 配置环境
- 在D:\work\opencv目录下新建文件夹necessary_file
- 将D:\work\opencv目录下的lib和bin文件夹复制进necessary_file
- 将D:\work\opencv\install目录下的include文件夹复制进necessary_file
- 将路径D:\work\opencv\necessary_file\bin添加到系统环境变量path中。
- 环境测试
- 打开Qt Creator,新建一个空工程,然后添加一个cpp文件,任意命名
- 工程文件.pro文件内添加下列语句:
INCLUDEPATH+=D:\work\opencv\necessary_file\include\opencv\ D:\work\opencv\necessary_file\include\opencv2\ D:\work\opencv\necessary_file\include LIBS += -L D:\work\opencv\necessary_file\lib\libopencv_*.a
- 在cpp文件里面添加如下代码:
#include "cv.h" #include "cxcore.h" #include "highgui.h" int main(int argc,char *argv[]) { //声明IplImage指针 IplImage*pImg; //载入图片 pImg=cvLoadImage("E:/1.jpg",1); //创建窗口 cvNamedWindow("Image",1); //显示图像 cvShowImage("Image",pImg); //等待按键 cvWaitKey(0); //销毁窗口 cvDestroyWindow("Image"); //释放图像 cvReleaseImage(&pImg); return 0; }
- 实验结果
参考:
1、http://blog.csdn.net/zhaocj/article/details/38944037
2、http://www.mamicode.com/info-detail-500574.html
3、http://blog.csdn.net/qiurisuixiang/article/details/8665278
2015-07-18
http://www.cnblogs.com/ddblog/