win7上qt5.1.1 opencv2.4.7 cmake2.8.12.1环境搭建(关键在环境变量)


      安装包准备:Qt 5.1.1 for Windows 32-bit (MinGW 4.8, OpenGL, 666 MB)                  https://qt-project.org/downloads

                 OpenCV-2.4.7         http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.7/OpenCV-2.4.7.exe/download                                  

                              cmake-2.8.12.1-win32-x86.exe                  http://www.cmake.org/cmake/resources/software.html     

参考资料http://blog.csdn.net/qiurisuixiang/article/details/8665278#reply     我按照这个文章配置的,但是最新版本qt5.1.1要在此基础上加点步骤,如果qt版本是5.0.1的请看参考资料。 

      接下来就总结下我这两天搭建环境时候遇到的问题吧。首先我去qt官网下了Qt 5.1.1 for Windows 32-bit (VS 2010, OpenGL, 504 MB),安装以后建了个工程直接构建,结果发现cl什么xx,没找到,cl不是vc的么,仔细一看这个包是要用vs的,我没装vs,也不想装vs,以前装过vs2010,电脑略卡。所以我换了个Qt 5.1.1 for Windows 32-bit (MinGW 4.8, OpenGL, 666 MB),有了MinGW就可以用gcc了。装好后测试成功,可以成功运行,qt就ok了。然后是opencv的库,我下了最新的opencv2.4.7 for win,安装后有源码包,我认为自己编译下还是有必要的,所以去下了最新的cmake2.8.12.1,安装运行cmake,在Configure中选了mingw,按下finish后cmake提示没找到mingw,百度了下发现自己没提供环境变量,然后把E:\qt5.1.1\qt5\Tools\mingw48_32\bin加入PATH环境变量中(如果已有PATH,只要编辑内容,在已经配置的路径后加个分号再把自己的路径加到后面就好了,没有PATH的话需要新建)。环境变量设好了就再次config,这下开始编译连接了,第一次config成功后,我把qt和opengl选上后第二次config,这下出问题了,cmake提示qt5xx没找到,这个问题我上网找了很久,最后我无聊去qt里面翻所提示文件,还让我找到了同名dll文件,然后我把这些文件夹的路径设置位环境变量(E:\qt5.1.1\qt5\5.1.1\mingw48_32\bin),再再次config,这次没报同样的错了,但是还有错,这次提示找不到qtxxxlib,再次到qt里翻,再次添加相应文件夹路径(E:\qt5.1.1\qt5\Tools\mingw48_32\i686-w64-mingw32\lib),再再再次config,这下指示提示有waring,但是可以Generate,不管了,先试试看,然后mingw32-make后,再次设置环境变量,打开qt测试自己编译的opencv的效果(中间遇到了些小插曲,LIBS要列具体的库),效果很不错。下面就来具体说说怎么让大家少走弯路。
)

     1. 首先我们先来安装qt,安装的时候要勾上MinGW 4.8,安装完后可以测试下是否可以构建起来。

      2.安装opencv和cmake    这里主要注意下cmake安装时要勾选加入所有环境变量,路径中也不能有空格和中文

      3.将qt的三个环境变量加入PATH,分别是E:\qt5.1.1\qt5\Tools\mingw48_32\bin(gcc编译器所在路径)               请根据自己的qt安装目录选择路径

                                                                               E:\qt5.1.1\qt5\5.1.1\mingw48_32\bin(如果报错说是没找到qt5xxx的就加这个路径)

                                                                               E:\qt5.1.1\qt5\Tools\mingw48_32\i686-w64-mingw32\lib(如果报错说是没找到qtxxxlib的就加这个路径)

      4.打开CMake,使用CMake编译OpenCV。配置源码路径与生成的目标路径

       源码路径:要选择OpenCV安装目录下sources文件夹

          目标路径:可以随意设置

      5.点击Configure,下拉菜单选择MinGW makefiles,下面的4个选项选默认第一个,第一个选项是让cmake到环境变量上找,第二个选项是自定义编译器路径。

      6.CMake编译结束后出现一大片红色,勾选生成列表中的WITH_OPENGL和WITH_QT两项,让后再次点击Configure,如果上面的环境变量都加正确了就会不会有error,只有些waring,这些经过我简单测试,暂时没发现有问题。

      7.点击Generate按钮,生成makefile文件,成功后,底下会提示Generating done

下面的步骤都是参考http://blog.csdn.net/qiurisuixiang/article/details/8665278#reply,我只是按我的理解继续打了点字。

      8.打开cmd,进入打开cmake时设置的目标路径(如cd /d e:/opencv_inc),输入mingw32-make命令开始编译,这个时间会很长,大家可以各忙各的了

      9.上面步执行完后,执行mingw32-make install

     10.opencv的编译过程结束了,然后我们要提取我们所要的库(makefile并不是我们需要的,编译下来的makefile都可以删了)

             我们所要的是       1.OpenCV-2.4.7安装目录下的build/include目录

                                            2.CMake目标路径下,MinGW编译后的bin目录

                                            3.CMake目标路径下,MinGW编译后的lib目录

              将这3个文件夹拷贝出来放到一起,然后其他的文件都可以删了。

      11.将MinGW编译后的bin目录添加到用户PATH环境变量

      12.然后可以测试下opencv是否编译成功,打开qt新建空的qt项目,在生成的pro文件中敲入

 
[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. INCLUDEPATH+=E:\opencv_inc\include\opencv\  
  2.              E:\opencv_inc\include\opencv2\  
  3.              E:\opencv_inc\include  
  4. LIBS+=  E:\opencv_inc\lib\libopencv_calib3d247.dll.a\         #opencv_inc是提取出来建的文件夹  
  5.         E:\opencv_inc\lib\libopencv_contrib247.dll.a\  
  6.         E:\opencv_inc\lib\libopencv_core247.dll.a\  
  7.         E:\opencv_inc\lib\libopencv_features2d247.dll.a\  
  8.         E:\opencv_inc\lib\libopencv_flann247.dll.a\  
  9.         E:\opencv_inc\lib\libopencv_gpu247.dll.a\  
  10.         E:\opencv_inc\lib\libopencv_highgui247.dll.a\  
  11.         E:\opencv_inc\lib\libopencv_imgproc247.dll.a\  
  12.         E:\opencv_inc\lib\libopencv_legacy247.dll.a\  
  13.         E:\opencv_inc\lib\libopencv_ml247.dll.a\  
  14.         E:\opencv_inc\lib\libopencv_objdetect247.dll.a\  
  15.         E:\opencv_inc\lib\libopencv_video247.dll.a  

       我在这里想偷懒,将LIBS写成LIBS+=C:\OpenCV\lib,构建时报错说找不到lib,然后我把lib的path加到环境变量试了试,还是不行,最后还是苦逼一个个把路径打出来了

       13.新建一个cpp文件,在里面敲入

#include"cv.h"
#include"cxcore.h"
#include"highgui.h"
 
int main()
{
    //声明IplImage指针
    IplImage *pImg;
    //载入图片
    pImg=cvLoadImage("E:/qt project/sd4/text.jpg",1);    //图片路径
    //创建窗口
    cvNamedWindow("Image",1);
    //显示图像
    cvShowImage("Image",pImg);
    //等待按键
    cvWaitKey(0);
    //销毁窗口
    cvDestroyWindow("Image");
    //释放图像
    cvReleaseImage(&pImg);
 
    return 0;
}
        14.点击左下角运行,结果如下图


 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值