一般我们在学习QT的时候写程序用的都是动态编译,如果将动态编译出来的可执行文件直接发布的话,在别的机子是无法运行的。所以这里教一下大家如何配置QT的静态编译环境。   测试环境:Win7旗舰版SP1 首先最好将minGW加入环境变量,我的地址为D:\software\QT5.9.0\Tools\mingw530_32\bin   编译静态库: 1、我的QT是5.9.0的,所以要到官网下载该版本的源码: http://download.qt.io/official_releases/qt/5.9/5.9.0/single/qt-everywhere-opensource-src-5.9.0.zip 下载后将其解压到任意位置,路径最好不带中文。 2、新建一个文件夹,用于存储编译后的静态库,我这里为D:\QT5.9.0_static 3、在解压后有源码的文件夹下(文件夹中有configure.bat文件),按shift+右键,选择“在此处打开命令窗口”,打开CMD。输入命令并执行:configure.bat-confirm-license -opensource -prefix "D:\QT5.9.0_static"-debug-and-release -static -platform win32-g++ -opengl desktop -no-angle-nomake examples -nomake tests -skip qtwebkit 4、上述命令执行完成后,执行mingw32-make,执行的时间比较长,我晚上跑的,睡一觉起来就好了。发现有提示错误,暂时无视掉。 5、执行mingw32-make install,一下就好了,但也有提示错误。 不难看出是编译QML库的时候出问题了,不过因为我还没用到QML库,又懒得下python,所以就不理它了,可能以后学到QML的时候再把这个补上。

这样静态库就编译完成了。

ios 的makefile如何设置编译静态库_静态库

 

QT Creator配置:

1、打开QT Creator,工具——选项——构建和运行,找到QT Versions,手动添加,找到静态版本目录里面的qmake.exe,起个名字Qt_5.9.0_static。
 然后在构建套件里添加,QT版本选择刚才建的Qt_5.9.0_static,调试器用不是None的那个。起个名字QT5.9.0_static。
 2、在刚才编译的静态库目录中修改qmake配置,我的是D:\QT5.9.0_static\mkspecs\win32-g++
 该目录下有个qmake.conf文件,是qmake生成makefile的基础配置文件。因为不是很了解哪些参数会被选上,我修改了release版肯定会用到的参数。将QMAKE_LFLAGS_RELEASE    = -Wl,-s修改为QMAKE_LFLAGS_RELEASE    =-static -Wl,-s。
 3、将静态库添加到环境变量:
 lib = D:\QT5.9.0_static\lib
 Include =D:\QT5.9.0_static\include

4、编写代码,选择构建套件,然后编译release版就行了。

静态编译的版本要比动态编译的版本大,需要压缩体积的话可以用aspack进行压缩,压缩率还是不错的。

ios 的makefile如何设置编译静态库_QT_02