官方对编译一些条件介绍: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小很多。

Qt5.8 在windows下mingw静态编译的更多相关文章

  1. Qt5.10.1 在windows下vs2017静态编译

    1.在计算机上安装python库和perl库(因为后续的静态编译需要用到这两种语言),可以在命令行敲击“python”和“perl -v”检查是否安装成功. 2.修改msvc-desktop.conf ...

  2. Windows下MinGW跨平台编译和使用log4cpp

    Log4cpp 是C++开源日志库,为 C++ 应用程序开发中提供了日志的追踪和调试功能,基于 LGPL 开源协议,移植自 java 的日志项目 log4j, 并在 api 上保持了一致性. 1. 环 ...

  3. 在Windows下使用MinGW静态编译Assimp

    使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...

  4. 在Windows通过使用MinGW静态编译Assimp

    使用MinGW静态编译Assimp 到了5月份了.没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...

  5. Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  6. 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

    因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...

  7. windows 7下mingw+msys编译ffmpeg

      windows 7下mingw+msys编译ffmpeg   1-->下载安装MingW,mingw-get-inst-20120426.exe  http://sourceforge.ne ...

  8. windows下用vs2010编译ffmpeg

    转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg ...

  9. 【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

    Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...

随机推荐

  1. Luogu 2668 NOIP 2015 斗地主(搜索,动态规划)

    Luogu 2668 NOIP 2015 斗地主(搜索,动态规划) Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来 ...

  2. P2569 股票交易

    题目大意: 你初始时有∞ 元钱,并且每天持有的股票不超过 Maxp . 有 T 天,你知道每一天的买入价格( AP[i] ),卖出价格( Bp[i] ), 买入数量限制( AS[i] ),卖出数量限制 ...

  3. java 线程栈 & java.lang.StackOverflowError

    网上搜索了一下,关于java的线程栈: JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K. JVM的内存,被划分了很多的区域: (来源:http://www.iteye.com/ ...

  4. php中的session过期思考一二

    看了php开发组成员鸟哥的一篇关于php设置session过期(http://www.laruence.com/2012/01/10/2469.html)的文章 他也说了一般人的回答的几个答案, 回答 ...

  5. TCP UDP 数据包过大导致分片情况

    MTU大家都知道,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节.一个IP数据报在以太网中 传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于M ...

  6. JSONObject的toBean 和 fromObject

    public static void main(String[] args) { Map map=new HashMap(); map.put("我","妹") ...

  7. frp源码剖析-frp中的mux模块

    前言 frp几乎所有的连接处理都是构建在mux模块之上的,重要性不必多说,来看一下这是个啥吧 ps: 安装方法 go get "github.com/fatedier/golib/net/m ...

  8. Elasticsearch5.5 多机集群配置和x-pack安装配置

    x-pack安装配置 https://www.elastic.co/guide/en/elasticsearch/reference/current/installing-xpack-es.html ...

  9. Nginx的介绍以及编译安装详解

    Nginx的介绍以及编译安装详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx(全称”engine x“)诞生背景 apache主要优点是功能丰富且足够稳定,但是其 ...

  10. python自动化运维之路~DAY3

    python自动化运维之路~DAY3 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数 1.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不 ...