[本文属原创,转载请附上原文出处链接。]
众所周知QT编译好的应用程序依赖许多动态链接库,不能方便的在其他PC上使用。这里介绍QT5版本的应用程序打包成可执行EXE的方法。
第一把QT应用程序项目编译成Release版本,而不是Debug版本。Debug版本包括许多的调试信息,所以要比大许多,相对Debug来说Release运行效率也就高一些。
为了方便,在工程release文件夹下拷贝出编译好的.exe文件,另建一个文件夹,按WIN+R快捷键启动CMD命令进入此文件夹,用QT自带的windeployqt.exe工具双击运行后,依赖的dll就自动拷贝到这个exe文件夹下面了。如下图:

提示使用windeployqt.exe工具需要提前设置系统环境变量,在path加入编译路径,列如我的QT安装目录下:D:QT5.35.3mingw482_32in。在exe文件夹下看到各种编译链接库,如下图:

这里介绍一下各种动态依赖库的作用:
a.icu库(实现UNICODE编码支持,跟版本保持一致)

b.mingw编译依赖库

c.各种核心类模块库:

如果用到其他第三方程序库,还需要添加其他的链接库。接下来进行文件打包,用Enigma Virtual Box软件进行文件打包。如下图:

接下来进行文件压缩打包,操作如下图:

等待执行完,点击运行就可以运行生成打包好的可执行EXE文件了,可在其他PC上使用,经测试可用。

这是打包成可执行文件的方法,还有打包成安装包文件的方法,个人感觉安装太麻烦,如果是比较小的应用程序不如一个可执行文件方便使用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录



这个我还没遇到过
打包的程序,会被360或者qq管家识别成病毒,直接清除掉
用qt5写了个串口工具,打包后50多M。。。
收藏了,感谢分享
1.使用windeployqt打包,会出现一些qt动态库添加不全;2.使用visual box将动态库和exe打包成独立的exe文件时,也会出现某些动态库没有被打包进去到独立的exe文件中