qt 静态编译,减少依赖库

因为动态编译,同时 要有很多依赖库,所以只能选择静态编译;

环境:WIN7+QT5.9.5 ;

Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。下载最好下载同样版本的源码;

时间大概 3个小时左右,视自己电脑配置确定;

一. 下载源码

Index of /official_releases/qt

qt 静态编译,减少依赖库_第1张图片

二. 编译工具下载

ActivePerl

ActivePerl下载地址:Download and Install Perl: ActivePerl | ActiveState

默认安装时会添加ActivePerl到环境变量。
测试添加是否成功:

cmd 界面 执行: perl.exe -v

Python

下载Python,添加Python到环境变量。
测试添加是否成功:

Ruby

Ruby下载地址:RubyInstaller for Windows

安装时勾选添加到环境变量的选项:

三、编译环境选择

在Windows上,有两个预构建环境可供选择:一个是MinGW,另一个是Microsoft Visual Studio(MSVC)。这两个环境不兼容,无法混合。你必须选择一个。
这两者的区别如下:

当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令,毕竟window上MSVC才是王道。

我选择MSVC,打开安装VS时自带安装的MSCV:VS 2013的开发人员命令提示符
 qt 静态编译,减少依赖库_第2张图片

解压源文件到目录,SRC;

1.修改源码里的qtbase\mkspecs\common\msvc-desktop.conf文件

修改-MD为-MT

D的意思是动态编译(dynamic),T的意思是静态编译(static)。

2.使用 VS2013 X64 本机命令行工具执行:

首先,进入到源码SRC 目录 执行命令

configure.bat -static -release -platform win32-msvc -release -static -prefix "D:\Qt\Qt5.9.5-msvc2013-x64-static-release-full" -opensource -confirm-license -nomake examples -nomake tests -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp

这个只编译了release 版本;

具体含义如下:

configure.bat 
-static //指明是静态编译
-prefix "D:\qt" //指明安装的目录
-confirm-license -opensource  //指明是开源版本的qt
-debug-and-release //指明需要debug版和release版,可以单独选择release版
-platform win32-msvc  //指明使用msvc编译
-nomake examples -nomake tests  //不编译样例
-plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg //可选插件
-opengl desktop 
-mp //多核编译

 3.make

执行完上面的配置文件,执行 nmake ,完成后,再执行 nmake install 安装 到指定目录;

4. 添加到Qt Creator

打开 Qt Creator,工具-》选项-》qt version  点击右边添加

qt 静态编译,减少依赖库_第3张图片

再选择构建套件,点击右边添加

qt 静态编译,减少依赖库_第4张图片

五、使用

1.新建, 可以在导航过程中,选择Kit的

qt 静态编译,减少依赖库_第5张图片

2.如果是历史项目,就需要在项目工程里面配置。点击,【项目】-【Build & Run】,默认没有的是灰色的,然后点击【静态编译】,表示使用该套件Kit

qt 静态编译,减少依赖库_第6张图片

六.小结

 静态编译的过程还算顺利,但编译出来明显比较大,本来 几百K,可能编译出来超过十几M;

注意的是编译前要仔细阅读官方文档,毕竟很多教程不是最新的,但官方文档一般都是最新的。


 

你可能感兴趣的:(QT,qt,静态编译)