QT5 发布时,莫过于依赖动态链接库(dll) , 但是,QT5的动态链接库貌似都有2套 ,例如 Qt5Core (针对realese) , Qt5Cored (针对debug) ,凡事末尾带d的都是debug文件需要的链接库,莫嫌博主啰嗦

A 关于发布

1.首先,我们得找到自己安装QT的目录

spacer.gif

2.找到上述路径 Qt/5.4/mingw491_32/bin

3.在路径中找到9个必须基本dll,其中分为3类

(1)icu库

(2)lib类

(3)Qt5核心类

这是发布的必须的基本动态链接库,如发布大程序,需加其他库,这里不一一说明,可以使用Depends这个工具查找需要什么库。

 

 

(4)除此之外,还必须带的文件夹有Qt/5.4/mingw491_32/bin/plugins中的platform文件夹,需复制到与exe同目录,如图所示

 

 

注意,如使用了ico图标必须加上Qt/5.4/mingw491_32/bin/plugins中的iconengines,如不清楚,可以将整个plugins文件夹复制过来,即可顺利完成发布。

 

 

B 关于打包 

 

1.推荐大家使用一个特别方便的软件 Enigma Virtual Box_7.30 ,绿色免费。

 

2.从工程文件找出realese/xx.exe文件,路径如下

 

3.新建一个文件夹,将找到的dll库以及platform等文件夹与主目录放在一起,如A(发布中的第(4)步)

 

4.找到自己编译器产生的exe文件,蓝色部分可改名

 

 

5.增加你放好dll和platform的文件夹

 

 

6.然后点击文件选项,勾选压缩文件。执行封包即可

 

 

方法二

Qt使用自带的windeployqt 查找生成exe 必需的库文件

集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:
Qt Widgets Application  和 Qt Quick Application
下面分别介绍这两类exe 的发布方式。

第一类 Qt Widgets Application 可执行程序发布方式

意思是创建的 Qt Widgets Application 项目

下面来发布软件:

 Release 方式编译生成 exe 程序,也就是调试运行的方式选择Release

 

 

 

将 生成的exe 可执行文件复制到 别的文件夹下,这里我复制到F:\qtsetup下

 

 

在开始菜单Qt5.5.0下找到Qt5.5 for Desktop cmd运行文件,打开运行

 

 

cmd进入F:\qtsetup下, 执行命令windeployqt *****.exe

回车

自动在该路径下生成exe所有需要的运行环境(dll+各种文件夹)

运行结束可以直接点击exe运行了,这样可以避免一个个所需要的的文件查找,然后在copy过来