QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)
环境:QT5.8 _msvc2013_64+Win10_64 (MSVC 编译器)
1.编译方式介绍:
Qt开发的程序发布的时候经常采用两种方式:1)静态编译,可生成单一的可执行文件;2)动态编译,需同时附上需要的dll文件。
静态编译
静态编译,是指把相关的库也一并引入exe文件,这样程序的尺寸就会很大,不过程序发布就会变得简单很多。
优点: 发布简单,单一文件,在移植时如果空间足够,采用静态编译比较可靠
缺点: 库文件很大,更新程序版本不方便。每次升级,都要重新分发所有的内容。对QT而言,需要重新编译静态库(非常耗时),且插件的使用比较麻烦;
动态编译(Qt默认)
动态编译,是指相关的库,以dll动态链接库的形式引用。动态编译的exe程序比较小,因为相关的库都没有包含进来。所以程序发布的时候要把相关的库也一并发布出去。
一般使用动态编译动态链接Qt库,尤其代码规模比较大,需要多人协作开发时,不同模块按dll划分比较方便,采用静态链接是不现实的。
优点: 更新方便,发布多个产品时,可以统一使用一个库。
缺点: 文件多、杂。
Debug版本
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
Release 版本
Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的。一般来说,release版的可执行程序体积要比debug版小很多,而且由于剥离了许多调试信息及符号等,运行效率相对也高一些,因此一般采用release编译。
2.动态编译方式打包发布QT程序:
方法一:手动复制
采用Qt动态编译,release版本的程序。需要将相应的dll跟Qt可执行程序exe文件放在一个目录下:
所需的dll文件包括:
1&#