Qt程序打包(使用windeployqt工具加入程序所需要的依赖库)

1.简介:

Qt官方IDE(集成开发环境)使用的是动态链接库的方式,发布可执行文件exe时,需要添加一些库,也就是我们常见的dll文件,如果我们不去添加这些dll文件,发布的exe很可能在别人的机器上无法运行,而如果我们自己去手动地添加dll,很可能添加不全。因此Qt开发环境里自带了一个叫做windeployqt.exe的工具,通过这个工具我们就能实现自动添加Qt程序所需要的一些库文件了。下面以Qt 5.9.2+MinGW开发环境为例,演示如何操作windeployqt工具实现自动添加库。

第一步:找到windeployqt工具:

从开始菜单-->找到Qt Creator 4.4.1点击右键-->更多-->打开文件位置-->5.9.2-->MinGW 5.3.0(32-bit)-->Qt 5.9.2 for Desktop(MinGW 5.3.0 32-bit)从这里执行windeployqt工具自动添加库文件





集成开发环境QtCreator生成图形化界面程序exe大致可以分为两类:Qt Widgets Application 和Qt Quick Application

下面重点讲述第一种Qt Widgets Application的执行windeployqt.exe的方法

1、Qt Widgets Application

1)首先使用Qt Creator新建一个Qt Widgets Application项目,直接使用默认的QMainWindow程序就可以了,项目名字假设叫untitled,然后以release方式编译生成exe.

2)生成的程序运行正常之后,找到项目生成目录,比如项目源码路径:E:\Qt Project\,进入他的生成目录,拷贝出exe文件,例如放在E:\QtApp中。


此时点击发现执行不了


第二步:然后用上面第一步的方法找到windeployqt工具

a.输入命令 :cd /d E:\QtApp 进入目录

b.然后使用 windeployqt 工具命令:windeployqt untitled.exe(可以直接拖动exe文件到黑框),就可以看到自动添加库的过程了

c.之后就可以看见windeployqt 工具自动复制的插件文件夹和dll文件、qm文件。这时候得到的就完整的可执行程序发布集合,依赖关系都解决好了



此时再点击untitled.exe是可以运行的



2、Qt Quick Application

由于Qt Quick Application用的比较少,所以只简单地介绍一下,如有需求可以联系我一起探讨一下,QQ:1126502922

       新建方式和生成Widgets程序相同,只是在查找依赖的时候不同,需要使用命令windeployqt TestQt.exe --qmldir 指定qml目录,进行复制依赖,之后打包方式也相同。


参考文章

http://blog.csdn.net/graceland525/article/details/52167944

侵删

猜你喜欢

转载自blog.csdn.net/qq_36381573/article/details/79259432