使用windeployqt命令发布我们的qt程序

       当我们开发完一个Qt程序之后,想要打包发布给别人,就需要把可执行文件.exe,动态库dll、复制到一个文件夹然后打包,但是....往往我们不知道需要哪些依赖,而使可执行文件不能执行,经常出现类似以下的提示

使用windeployqt命令发布我们的qt程序

 

对于这种问题,有两种方法解决。

         一是手动发布,比较笨的方法,提示缺少哪个文件(或者目录)就去找到这个文件(或者目录),把它拷贝过来,一般在qt的安装目录C:\Qt\Qt5.7.1\5.7\msvc2013_64\bin都能找到。这个方法的有点时不会拷贝过去多余不需要的文件,缺点是找文件不熟悉的话很麻烦,另外可能会拷贝不全,比如一些库,可能启动时不需要,运行时触发另外一个功能时需要了。

         二是windeployqt命令打包,很简单就以下两个步骤。

       1、拷贝exe到要发布的目录,如下图

      使用windeployqt命令发布我们的qt程序

2、从开始菜单启动 Qt 5.7 64-bit for Deskop命令行工具,运行windeployqt d:\qt\myqtapp如下图

使用windeployqt命令发布我们的qt程序

这种方法的优点是方便快捷,缺点是工具会将所有可用的文件复制过来,有些现在可能并不需要。

    当我们非常明确程序依赖的文件时推荐手动复制依赖文件,发布项目,当我们不能明确时,可以使用windeployqt命令。