Posts Win7下基于Qt和opencv的程序的运行
Post
Cancel

Win7下基于Qt和opencv的程序的运行

Qt的静态编译

Qt的版本:qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe 注意点:安装组件的时候要注意全选组件

Qt的静态库安装: 这里没有编译静态库,直接使用网上下载的release版本的Qt静态库: 下载后直接可以用静态库进行配置,把静态库集成到QtCreator里面:

  1. 打开QtCreator的菜单工具–》选项;
  2. 然后对话框左边选择构建和运行;
  3. 在构建和运行页面,右边选择Qt Versions;
  4. 点击右上角添加,会弹出查找qmake.exe的对话框,找到刚才装的静态库安装目录\5.3.2\bin\qmake.exe;
  5. 点击确定,就看到新的Qt库;
  6. 点击右下角Apply按钮,应用配置。 注意一个问题,如果静态库bin目录没有qt.conf文件,会出现如下错误:
    1
    
    Qt没有被正确安装,请运行makeinstall
    

    可以按照参考博客修复问题。 测试: 新建项目,需要选择两个库,默认的库和新建的static库,新建窗口程序: 图片1

图片2

打开界面文件,拖入一个控件:

图片3

选择static的release进行编译。

图片4

在生成的目录里面会有一个大概14M的exe文件即为静态编译得到的exe文件:

图片5

双击exe文件便可:

图片6

该程序可以在没有配置环境的电脑上运行。

Opencv的配置

时间原因,没有成功完成OpenCV的静态编译过程,这里仅就OpenCV的静态编译以及打包动态库文件进行说明。 OpenCV的安装: OpenCV版本:OpenCV3.1 双击解压缩OpenCV下载文件:生成OPENCVDIR目录 打开CMake,在source code中填写OpenCV源码,目录为%OPENCVDIR%/sources,在build the binaries中填写编译后的目录,本例中填写为%OPENCVDIR%/bin,按下下方的conigure键,之后会弹出一个对话框,按照下图选择,之后点击Next:

图片8

分别在CC++出填写目录:

1
2
%QTDIR%/tools/mingw482_32/bin/gcc.exe
%QTDIR%/tools/mingw482_32/bin/g++.exe

点击finish,之后CMake会自动configure,这段时间可能会因为无法下载ffmepg.dl文件引发错误,这时候需要翻墙下载。之后再单击一下,其中可以添加OpenCV的外来模块:Contrib_modeul,在Opencv_extra_module选中,现在的模块的module文件夹,但是可能部分模块无法编译成功,取消勾选即可,比如dnn模块等等。再次configure,等待确认好了之后,再单击generate,等到下方状态框中显示done的时候就可以退出CMake

NOTE:有的版本上说要勾选WITH_OPENGLWITH_QT,本过程中没有勾选,编译成功,勾选以后不能成功。

进入cmd,然后进入%OPENCVDIR%/bin目录,之后输入mingw32-make,按回车等待mingw进行编译,根据电脑不同,时间会有长短,一般会大概20分钟左右。等待编译结束,再输入mingw32-make install,这个会比较快,大概1分钟以内。

现在我们已经完成了OpenCV的编译,之后我们会将其同Qt结合。Pro文件夹中需要添加:

1
2
3
4
INCLUDEPATH += D:\software\opencv\opencv\bin\install\include \
D:\software\opencv\opencv\bin\install\include\opencv \
D:\software\opencv\opencv\bin\install\include\opencv\opencv2
LIBS += D:\software\opencv\opencv\bin\install\x86\mingw\lib\lib*.a \

最后需要在exe文件中添加dll文件,包括OpenCV的dll文件和Qt的部分dll文件以及一些系统的dll文件:

图片7

This post is licensed under CC BY 4.0 by the author.