Chinaunix首页 | 论坛 | 博客
  • 博客访问: 553075
  • 博文数量: 127
  • 博客积分: 1169
  • 博客等级: 少尉
  • 技术积分: 1298
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-16 14:29
个人简介

空白

文章分类

全部博文(127)

分类: 其他平台

2017-03-21 09:35:18

本文总结在window7 64位版本下静态编译Qt5.7.0的过程
windows系统环境:window7企业版64位
QT版本:5.7.0 Windows-32bit版本

1、下载qt
,目前下载最新版本需要注册了

选择“·  2、安装QT

选择安装位置,下一步

选择需要安装的组件,按上图勾选,下一步,直到安装完成

3、安装Perl
我安装的是:ActivePerl-5.24.0.2400-MSWin32-x86-64int-300560.exe
下载:
安装路径:C:\Perl
安装过程中勾选“添加到环境变量”

4、安装python
我安装的是:python-3.5.2.exe
安装路径:C:\Python35-32
安装过程中勾选“添加到环境变量

5、配置环境变量
“D:\Qt\Qt5.7.0\5.7\mingw53_32\bin”添加到系统环境变量path
Perlpython安装过程中选择添加到环境变量选项后,不再需要手动添加环境变量到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是报错:
解决方法:
安装的是3.5.2,这个版本需要的vc版本是2015的了,下载安装Microsoft Visual C++ 2015

8、配置
编辑D:\Qt\Qt5.7.0\5.7\Src\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGSQMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS        = -static
QMAKE_LFLAGS_DLL    = -static
保存,退出(如果不做这个修改,生成的执行文件要依赖libgcc_s_dw2-1.dlllibstdc++-6.dlllibwinpthread-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就完成
阅读(3920) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~