官方对编译一些条件介绍:https://doc.qt.io/qt-5/windows-requirements.html

在默认情况下,用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。

在win7 x64 静态编译制作过程如下:

1. 安装Qt,全部勾选安装.   qt-opensource-windows-x86-mingw530-5.8.0.exe

2. 安装Perl, 下载地址:https://www.activestate.com/activeperl/downloads

安装目录:D:\ProgramFiles\Perl64

环境变量安装过程自动添加的,如果没有添加,手动添加:

D:\ProgramFiles\Perl64\site\bin;

D:\ProgramFiles\Perl64\bin;

3. 安装Python,Windows x86 executable installer 下载地址: https://www.python.org/downloads/

安装过程记得勾选添加PATH环境变量。

安装目录:D:\ProgramFiles\Python36-32

环境变量安装过程自动添加的,如果没有添加,手动添加:

D:\ProgramFiles\Python36-32\Scripts\;

D:\ProgramFiles\Python36-32\;

4.打开Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)

4.1 输入以下命令检查gcc编译器配置是否正确

gcc -v

4.2  输入以下命令检查perl解释器配置是否正确

perl -v

4.3 输入以下命令检查python配置是否正确

python

按ctrl+z回车,退出python

5.在D:\ProgramFiles\Qt\Qt580\5.8新建一个文件夹mingw53_32_static,

切换到Qt的源码目录

cd D:\ProgramFiles\Qt\Qt580\5.8\Src

运行命令:

configure.bat -confirm-license -opensource -platform win32-g++ -debug-and-release -static -prefix "D:\ProgramFiles\Qt\Qt580\5.8\mingw53_32_static" -qt-sqlite -qt-zlib -qt-libjpeg -qt-libpng -qt-xcb -qt-xkbcommon -qt-freetype -qt-pcre -qt-harfbuzz -opengl desktop -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebengine -skip qtwebview -skip qt3d

注:这里配置的时候,跳过了qtwebengine、qtwebview、qt3d,如果需要这些模块可以去掉skip

6.编译(大概需要3小时左右)

mingw32-make -j2

注:本处为2个线程编译,电脑好的可以开更多的线程,编译速度也更快

7.安装(需要30分钟左右,硬盘好的话会快点)

mingw32-make install

8.新增静态编译

打开Qt Creator -> 工具 -> 选项 -> 构建和运行 -> Qt Versions

添加版本后,点击应用。

构建套件:克隆一个,修改,注意Qt版本一定要记得选对。修改后,点击应用

9.配置编译器

记事本打开D:\ProgramFiles\Qt\Qt580\5.8\mingw53_32_static\mkspecs\win32-g++\qmake.conf

添加 一行QMAKE_LFLAGS = -static,修改 QMAKE_LFLAGS_DLL其值为-static

10.新建工程选择 静态编译套件,编译出来就可以直接运行exe程序了。编译过程很慢,发布的时候最好选用release的,release的程序体积比debug小很多。

最新文章

  1. php获取post参数的几种方式 RPC 规定接收取值方式 $GLOBALS['HTTP_RAW_POST_DATA'];
  2. 关于 Direct2D
  3. DDD领域驱动设计实践篇之如何提取模型
  4. MaterialUp - 寻找材料设计灵感必备的网站
  5. iOS 检查更新
  6. mysql性能优化-简易版
  7. iTween基础之CameraFade(摄像机淡入淡出)
  8. 一起来画画!8款最佳HTML5绘图工具
  9. 使用EA逆向生成数据库E-R图
  10. [翻译][MVC 5 + EF 6] 4:弹性连接和命令拦截
  11. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
  12. PDM使用问题总结
  13. T9
  14. 项目实战5—企业级缓存系统varnish应用与实战
  15. centos7 编译ntopng源码
  16. WebRTC技术调研
  17. 基于ROS完成寻迹运动
  18. java配置环境变量与常用技巧
  19. JavaScript高速掌握
  20. iOS中表视图单元格事件用nib和storyboard的两种写法总结

热门文章

  1. Mongodb中经常出现的错误(汇总)child process failed, exited with error number
  2. Win10删除anaconda重装
  3. exec函数族的使用
  4. CF 468B Two Sets
  5. A1075. PAT Judge
  6. 解决React首屏加载白屏的问题
  7. My thoughts after NOIP 2018(1)
  8. JavaEE学习总结(十四)— 人工智能微博
  9. python 面试题--你能做出多少?
  10. 海明码 CRC冗余校验码