《QT学习笔记 —— 5. QT程序打包发布》

在阅读本文之前,建议先花三五分钟阅读下《QT学习笔记 —— 2. 使用向导创建QT项目》

通过前面几篇文章的介绍,我们已经会了怎么通过Qt Creator创建项目,也知道怎么编译并且运行程序。但是Qt的应用程序编译出来之后,将单独的exe程序拿到其他PC上运行是运行不起来的,会提示缺少对应的动态链接库。那怎么让它也可以在其他的计算机上运行呢?

前面生成的debug版本程序依赖的dll文件很大,那是因为debug版本程序中包含了调试信息,可以用来调试。而真正要发布程序时要使用release版本。下面对QtDemo程序进行release版本的编译。按下图选择好后,进行编译并且运行。

 

编译之后,可以发现已经生成了新的可执行文件,新生成的可执行文件大小比之前小了很多。

 

当然,新生成的release版本程序,还是不能直接在其他电脑上运行,因为还没有包含QT的库文件。我们需要去Qt的安装目录下找到所有的Qt程序运行时所依赖的,将他们和exe程序放到同一目录下,程序才可以执行。

根据上边的描述我们可以想象的到,如果手动去寻找应用程序依赖的动态库,这是一件非常麻烦的事情。其实我们完全没有必要这么辛苦,Qt给我们提供了一个寻找依赖项的工具windeployqt

 

Windeployqt的使用方法:

1. 把新生成的exe文件放到指定的目录下

2. 在控制台窗口中通命令进入到上述目录中

3. 执行命令windeployqt 应用程序名(zhubao.exe)

应用程序所需的附加依赖项就会全部拷贝到我们指定的目录中 。

把qt_version.zip发送到其他计算机上,也可以运行了。