qt windows下执行exe程序 windeployqt使用方法

时间:2024-03-16 16:58:38

转载: https://blog.csdn.net/sinat_36264666/article/details/73305712

 

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。

因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。


问题的提出


既然是要发布自己的程序,那么就需要,在Release中编译运行。具体方法如下图所示。

1.点击qt界面左下角的图标;

2.选择Release;

3.点击编译运行即可;
 

qt windows下执行exe程序 windeployqt使用方法

生成的程序运行正常之后,找到项目的生成目录。比如,项目源码路径:
D:\OutPutResult\QtWorkPlace\DiyName
它的项目生成目录是:
D:\OutPutResult\QtWorkPlace\build-DiyName-Desktop_Qt_5_8_0_MinGW_32bit-Release
qt windows下执行exe程序 windeployqt使用方法

我们可以发现,此时点击.exe文件是会出问题的,解决办法如下。

使用windeployqt工具,进行打包发布

1.首先进入上图中这个文件夹,在里面,找到 DiyName.exe,将这个.exe 复制到一个新的单独的文件夹里用于发布,比如存到 :
D:\OutFaBu 文件夹里面。

 qt windows下执行exe程序 windeployqt使用方法

此时,这个文件只一个有刚刚从release文件夹下,复制过来的.exe文件。

2.以官方 Qt 5.8.0+MinGW 开发环境为例,
从开始菜单--》Qt 5.8.0--》5.8--》MinGW5.3.0 (32-bit)--》Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)

可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。

qt windows下执行exe程序 windeployqt使用方法

3.然后从开始菜单打开 Qt 命令行,输入命令 :
cd /d D:\OutFaBu
然后使用 windeployqt 工具命令:
windeployqt DiyName.exe

【注意】D:\OutFaBu和DiyName.exe都是本人自己创建和生成的文件,读者根据自己情况自行修改,切勿直接复制粘贴

qt windows下执行exe程序 windeployqt使用方法

4.运行完成

qt windows下执行exe程序 windeployqt使用方法

此时,我们可以发现在刚刚创建的新文件夹D:\OutFaBu中生成许多文件和 dll文件、qm文件,这时候得到的就完整的 exe程序发布集合,依赖关系都解决好了。此时点击DiyDame.exe文件就可完美的运行。

将整个文件夹压缩打包就可以发布了,可以给其他电脑使用,是不是很方便。
 

 运行是可以正常运行了,效果和linux下运行的一样,只是觉得大小挺大的,47M左右。linux下才380K。。。对比之后发现大了不止120倍。。。