用mingw4.8.2 静态编译QT5.3.1

一、需求

用QT开发的程序发布时要带个各种动态链接库(.dll),否则无法在其它机器上运行,如果静态编译自己写的QT应用程序就需要动态链接库了,直接一个.exe文搞定。


二、下载源文件

目前要机器上己经装了QT5.3.0,带有QT Creater, mingwr4.8.2以及QT的动态链接库,现在需自己下载源代码静态库译QT库

下载地址为:

http://download.qt-project.org/official_releases/qt/5.3/5.3.1/single/qt-everywhere-opensource-src-5.3.1.zip.mirrorlist


下载下来文件为:

qt-everywhere-opensource-src-5.3.1.zip

三、编译

1、首先设置系统环境变量

在include中添加:D:\Qt\Qt5.3.0\Tools\mingw482_32\i686-w64-mingw32\include

在lib中添加:D:\Qt\Qt5.3.0\Tools\mingw482_32\i686-w64-mingw32\lib

如果以前机器装有vs2005、vs2008。。。。。等最好是把环境变量中的include 和lib先删除掉,否则可能会configurfe时报错:

error:redeclaration of C++ built-in type 'wchar_t' [-fpermissive]


2、解压文件qt-everywhere-opensource-src-5.3.1.zip然后dos命令下进入到E:\Qt5.3.1src\qt-everywhere-opensource-src-5.3.1目录,执行:

configure -confirm-license -opensource -prefix "G:\Qt\Qt5.3.1" -debug-and-release -static -platform win32-g++ -opengl desktop -no-angle -nomake examples -nomake tests -skip qtwebkit 


D:\Qt\qt-everywhere-opensource-src-5.3.1\qtbase>configure -confirm-license -opensource -prefix "D:\Qt\qt5.3.1_static_build" -debug-and-release -static -platform win32-g++ -opengl desktop -no-angle -nomake examples -nomake tests -skip qtwebkit -no-qml-debug


解释一下上面的命令:

-opensource 编译和链接开源版的Qt.

-prefix "G:\Qt\Qt5.3.1"  最后装到目录G:\Qt\Qt5.3.1

-debug-and-release 编译debug版本和release版本

-static  静态编译

-platform win32-g++ 目标平台,win32

-opengl desktop  选择desktop的opengl

-no-angle 

-nomake examples   不编译examples

-nomake tests     不编译tests

-skip qtwebkit     不编译qtwebkit

3、mingw32-make


4、mingw32-make install

漫长的编译将近4个小时

四、测试

1、打开Qt Creator,工具--->选项----->构建和运行----->Qt Versions----->手动设置------->添加

在版本名称里写上:Qt 5.3.1 (Qt5.3.1)

在qmake 路径里写上:G:\Qt\Qt5.3.1(Qt5.3.1)


2、点击构建套件

手动设置---->添加

名称:qt 5.3.1-static

Qt版本:选 择刚才添加的Qt 5.3.1 (Qt5.3.1),点击确定


3、部署时按如下设置即可


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值