Qt的静态编译
Qt的版本:qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe 注意点:安装组件的时候要注意全选组件
Qt的静态库安装: 这里没有编译静态库,直接使用网上下载的release版本的Qt静态库: 下载后直接可以用静态库进行配置,把静态库集成到QtCreator里面:
- 打开
QtCreator的菜单工具–》选项; - 然后对话框左边选择
构建和运行; - 在构建和运行页面,右边选择
Qt Versions; - 点击右上角
添加,会弹出查找qmake.exe的对话框,找到刚才装的静态库安装目录\5.3.2\bin\qmake.exe; - 点击确定,就看到新的Qt库;
- 点击右下角
Apply按钮,应用配置。 注意一个问题,如果静态库bin目录没有qt.conf文件,会出现如下错误:1
Qt没有被正确安装,请运行makeinstall
可以按照参考博客修复问题。 测试: 新建项目,需要选择两个库,默认的库和新建的
static库,新建窗口程序:

打开界面文件,拖入一个控件:
选择static的release进行编译。

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

双击exe文件便可:

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

分别在C和C++出填写目录:
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_OPENGL和WITH_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文件:

