Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。
因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。
问题的提出
既然是要发布自己的程序,那么就需要,在Release中编译运行。具体方法如下图所示。
1.点击qt界面左下角的图标;
2.选择Release;
3.点击编译运行即可;
生成的程序运行正常之后,找到项目的生成目录。比如,项目源码路径:
D:\QTCode\StudentManage
它的项目生成目录是:
D:\QTCode\build-StudentManage-Desktop_Qt_5_14_2_MinGW_32_bit-Release
我们可以发现,此时点击.exe文件是会出问题的,解决办法如下。
2.以官方 Qt 5.8.0+MinGW 开发环境为例,
使用windeployqt工具,
进行打包发布
1.首先进入上图中这个文件夹,在里面,找到 StudentManage.exe,将这个.exe 复制到一个新的单独的文件夹里用于发布,比如存到 :
D:\stu 文件夹里面。
此时,这个文件只一个有刚刚从release文件夹下,复制过来的.exe文件。
2.以官方 Qt 5.14.2+MinGW 开发环境为例
从开始菜单--》Qt 5.14.2--》Qt 5.14.2(MinGW7.3.0 32-bit)
可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。
3.然后从开始菜单打开 Qt 命令行,输入命令 : cd /d D:\stu 然后使用 windeployqt 工具命令: windeployqt StudentManage.exe
【注意】D:\stu 和StudentManage.exe都是本人自己创建和生成的文件,读者根据自己情况自行修改,切勿直接复制粘贴
4.运行完成
此时,我们可以发现在刚刚创建的新文件夹D:\stu中生成许多文件和 dll文件、qm文件,这时候得到的就完整的 exe程序发布集合,依赖关系都解决好了。此时点击StudentManage.exe文件就可正常的运行。