学会使用Mingw.4.9.1来静态编译Qt5.4.0

一、静态编译原因

        在开发Qt时,动态编译会依赖许多的库,在其它机器上不能直接运行;而静态编译则直接以一个.exe解决。

        本文参考众多网友Qt静态编译的方法,经过整整一天的编译,终于成功,过程如下。

二:下载所需文件

        在网址 http://www.qt.io/download-open-source/#section-3 下载安装 Qt 5.4.0 for Windows 32-bit (MinGW 4.9.1, 852 MB)。

        在网址 http://download.qt-project.org/archive/qt/5.4/5.4.0/single/ 下载Qt5.4.0源码

        百度下载安装 Python

三:开始编译

1、添加环境变量

        添加include路径为:D:\Qt\Qt5.4.0\Tools\mingw491_32\i686-w64-mingw32\include

        添加lib路径为:D:\Qt\Qt5.4.0\Tools\mingw491_32\i686-w64-mingw32\lib

        添加path路径为:D:\Qt\Python33

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

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

2、静态库设置

        进入Qt安装目录下:D:\Qt\Qt5.4.0\5.4\mingw491_32\mkspecs\win32-g++,打开qmake.conf,

        设置QMAKE_LFLAGS和QMAKE_LFLAGS_DLL为static属性

3、解压Qt源码;然后点击Home键,进入Qt5.4.0\Qt\Ming GW4.9(32位),打开Qt5.4.0 for Desktop的DOS环境。

4、进入Qt源码的目录,输入如下命令:

configure -confirm-license -opensource -prefix "D:\Qt\Qt-rel-static" -debug-and-release -static

-platform win32-g++ -opengl desktop -no-angle -nomake examples -nomake tests -skip qtwebkit 

解释一下上面的命令:

        -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


5、mingw32-make

6、ming32-make install

        (以上两个步骤至少需要4个小时,如果觉得太漫长,可以将 -debug-and-release 改为 -release,就不静态编译Debug模式的可执程序了)


四、添加静态库

1、打开Qt Creator,选择 Tools->Options->Build & Run->Qt Versions,在Manual里:

        添加Version name为:Qt 5.4.0(Qt5.4.0),

        添加qmake location为:D:\Qt\Qt5.4-rel-static\bin\qmake.exe,然后点击Apply

2、点击Kits,在Manual里添加:

        添加Name为:Qt5.4.0-static,

        添加Qt ersion为:Qt 5.4.0(Qt5.4.0),然后点击Apply,配置完成。


之后就可以创建静态编译的工程了,或者在编译时选择静态编译。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值