本文将讲述如何在Windows中,用源码版本的Qt制作出一个可以一键静态编译Qt,我使用的环境是:Windows7 64位 旗舰版.
大致流程:
1.安装Qt(源码版)以及其他必要的环境
2.编译/安装
3.配置
4.使用
~~~~~~~~~~正文分割线~~~~~~~~~~
1.安装Qt(源码版)
1.1 下载Qt(两个地址二选一即可,其实安装安卓那个版本也是可以的,我用的就是那个版本。不过如果不想开发安卓,用这个版本就行了)
安装包:Qt 5.4.0 for Windows 32-bit (MinGW 4.9.1, 852 MB)
官网地址:http://www.qt.io/download-open-source/
1.2 安装Qt
我安装到了 c:\Qt\Qt5.4.0
注意:源码那里也要勾上,默认是不勾选的
注:安装好Qt后,将bin目录添加到PATH环境变量中
1.4 安装Perl(5.8版本或者更高,两个地址二选一即可)
官网地址:http://www.activestate.com/activeperl/downloads
1.3 安装 Python(2.7版本或者更高,两个地址二选一即可)
安装包:Windows x86-64 MSI installer
官网地址:https://www.python.org/downloads/
注:安装好Python后,将安装目录添加到PATH环境变量中
上述两个环境变量:C:\Qt\Qt5.4.0\5.4\mingw491_32\bin;C:\Python27
2.编译/安装
2.1 打开命令行
2.2 检查
输入以下命令看看 gcc 编译器是否配置正确,
gcc -v
再输入以下命令看看 perl 解释器是否配置正确perl -v
输入以下命令看看 python 是否配置正确python
按 Ctrl + Z 回车,可以退出 python
2.3 切换到源码目录
cd C:\Qt\Qt5.4.0\5.4\Src
2.4 配置(1分钟左右)
Configure.bat -confirm-license -opensource -platform win32-g++ -mp -debug-and-release -static -prefix "c:\Qt\5.4.0_MinGW_static" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit -skip qtwebengine
2.5 编译(3小时左右)
mingw32-make
2.6 安装(根据硬盘性能,大约需要几分钟到20分钟左右)
mingw32-make install
2.7 后续
在编译/安装好后,我们可以把源码目录删了,这可以释放出大约10G的空间,很可观
3.配置
3.1 添加一个Qt版本
3.1.1 打开版本编辑器
打开Qt Creator -> 工具 -> 选项 -> 构件和运行 -> Qt Versions
3.1.2 按照下图添加,然后点Apply
3.2 设置编译器(如果有则不需要设置)
按照下图添加,然后点Apply
3.3 设置套件
按照下图添加
3.4 配置编译器
用记事本打开 C:\Qt\5.4.0_MinGW_static\mkspecs\win32-g++\qmake.conf
找到 QMAKE_LFLAGS 和 QMAKE_LFLAGS_DLL
将后面都改成 -static
4.使用
4.1 打开Qt,新建工程,选择静态编译的套件
4.2 左下角选择release模式
4.3 Ctrl+B编译,然后,静态编译版本的exe就完成了~~是不是很简单呢
作者:wsj