文章目录
为什么要静态编译(static link)
在默认情况下,用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。而且exe文件会比动态编译的要小上很多。
1.源码下载/source code download
2020-2-25: Qt 5.14.1 版本出来
Qt最新版5.14.1
的源码下载地址:Index of /archive/qt/5.14/5.14.1/single
选择文件:qt-everywhere-src-5.14.1.zip
源码压缩包849M,解压后2.32G
2. 编译工具下载/compiler download
Qt官方文档要求编译工具:Qt for Windows - Requirements Qt 5.14
打开源码目录下的README文件,查看当前版本Qt要求的Windows环境下编译需要安装的工具:
Windows:
--------
Open a command prompt.
Ensure that the following tools can be found in the path:
* Supported compiler (Visual Studio 2012 or later,
MinGW-builds gcc 4.9 or later)
* Perl version 5.12 or later [http://www.activestate.com/activeperl/]
* Python version 2.7 or later [http://www.activestate.com/activepython/]
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
编译环境选择:MinGW/MSVC
在Windows上,有两个预构建环境可供选择:一个是 MinGW ,另一个是Microsoft Visual Studio(MSVC)。这两个环境不兼容,无法混合。你必须选择一个。
这两者的区别如下:
当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令,毕竟window上MSVC才是王道。
我选择MSVC,打开安装VS时自带安装的MSCV:x64 Native Tools Command Prompt for VS 2019
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.4.5
** Copyright (c) 2019 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>
默认编译的结果是64位的Qt
如果你想编译32位版本的qt,可以选择x86 Native Tools Command Prompt for VS 2019
警告:不要使用 Developer Command Prompt for VS 2019
如果你想在linux系统中进行Qt的编译工作,参考这个问答: