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
文件: