Qt5.7.0 minGW在Windows7下静态编译---Qt
转自:http://dynamicbsd.blog.chinaunix.net/uid-20698826-id-5761669.html
另外Qt5.8的可参考https://www.cnblogs.com/ike_li/p/6860089.html
环境:
windows系统环境:window7企业版64位
QT版本:5.7.0 Windows-32bit版本
1、下载qt
https://www.qt.io/download-open-source/#section-2,目前下载最新版本需要注册了
选择“· Qt 5.7.0 for Windows 32-bit (VS 2013, 909 MB) (info)
2、安装QT
选择安装位置,下一步
选择需要安装的组件,按上图勾选,下一步,直到安装完成
3、安装Perl
我安装的是:ActivePerl-5.24.0.2400-MSWin32-x86-64int-300560.exe
下载:http://www.activestate.com/activeperl/downloads
安装路径:C:\Perl
安装过程中勾选“添加到环境变量”
4、安装python
我安装的是:python-3.5.2.exe
安装路径:C:\Python35-32
安装过程中勾选“添加到环境变量”
5、配置环境变量
将“D:\Qt\Qt5.7.0\5.7\mingw53_32\bin”添加到系统环境变量path中
Perl和python安装过程中选择“添加到环境变量”选项后,不再需要手动添加环境变量到path中
6、编译QT
在开始菜单找到“Qt 5.7 for Desktop (MinGW 5.3.0 32 bit)”,并打开终端
7、检查配置
在“Qt 5.7 for Desktop (MinGW 5.3.0 32 bit)”终端中输入下面的命令检测Qt安装环境
输入以下命令看看 gcc 编译器是否配置正确
gcc –v
再输入以下命令看看 perl 解释器是否配置正确
perl –v
输入以下命令看看 python 是否配置正确
python
按 Ctrl + Z 回车,可以退出 python
运行python是报错:
解决方法:
安装的是python3.5.2,这个版本需要的vc版本是2015的了,下载安装Microsoft Visual C++ 2015
8、配置
编辑D:\Qt\Qt5.7.0\5.7\Src\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS = -static
QMAKE_LFLAGS_DLL = -static
保存,退出(如果不做这个修改,生成的执行文件要依赖libgcc_s_dw2-1.dll,libstdc++-6.dll,libwinpthread-1.dll)
进入qt源码目录:
cd D:\qt\qt5.7.0\5.7\src
配置命令:
configure.bat -confirm-license -opensource -platform win32-g++ -mp -debug-and-release -static -prefix "D:\Qt\5.7.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 qtwebengine -skip qtwebview -skip qt3d
9、编译
mingw32-make -j2
注:本处为2个线程编译,电脑好的可以开更多的线程,编译速度也更快
10、安装
mingw32-make install
安装完成后,可以将Qt源码目录删除,释放磁盘空间
11、配置Qt Creator
打开Qt Creator,菜单栏选择“工具 -> 选项 -> 构件和运行 -> Qt Versions”,点击右边“添加”按钮,找到静态编译后的qmake.exe,
我的路劲如下:D:\Qt\5.7.0_mingw_static\bin\qmake.exe
设置完成后,点击"Apply"
菜单栏选择“Qt Creator -> 工具 -> 选项 -> 构件和运行 -> 编译器”
菜单栏选择“Qt Creator -> 工具 -> 选项 -> 构件和运行 -> 构建条件(Kit)”
点击右边“添加”按钮
点击Apply,应用设置
12、配置编译器
用记事本打开 D:\Qt\5.7.0_mingw_static\mkspecs\win32-g++\qmake.conf文件
找到 QMAKE_LFLAGS 和 QMAKE_LFLAGS_DLL
将后面都改成 -static
13、使用
打开Qt,新建工程,选择静态编译的套件
左下角选择release模式
静态编译,如果选择debug,可以编译成功,但是编译出来的exe非常大,几百mb
Ctrl+B编译,编译完成后,静态编译版本的exe就完成