QT5 发布时,莫过于依赖动态链接库(dll) , 但是,QT5的动态链接库貌似都有2套 ,例如 Qt5Core (针对realese) , Qt5Cored (针对debug) ,凡事末尾带d的都是debug文件需要的链接库,莫嫌博主啰嗦
A 关于发布
1.首先,我们得找到自己安装QT的目录
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过来