基于QT应用程序打包成可执行程序exe

内容分享2周前发布
0 5 0

[本文属原创,转载请附上原文出处链接。]

众所周知QT编译好的应用程序依赖许多动态链接库,不能方便的在其他PC上使用。这里介绍QT5版本的应用程序打包成可执行EXE的方法。

第一把QT应用程序项目编译成Release版本,而不是Debug版本。Debug版本包括许多的调试信息,所以要比大许多,相对Debug来说Release运行效率也就高一些。

为了方便,在工程release文件夹下拷贝出编译好的.exe文件,另建一个文件夹,按WIN+R快捷键启动CMD命令进入此文件夹,用QT自带的windeployqt.exe工具双击运行后,依赖的dll就自动拷贝到这个exe文件夹下面了。如下图:

基于QT应用程序打包成可执行程序exe

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

基于QT应用程序打包成可执行程序exe

这里介绍一下各种动态依赖库的作用:

a.icu库(实现UNICODE编码支持,跟版本保持一致)

基于QT应用程序打包成可执行程序exe

b.mingw编译依赖库

基于QT应用程序打包成可执行程序exe

c.各种核心类模块库:

基于QT应用程序打包成可执行程序exe

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

基于QT应用程序打包成可执行程序exe

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

基于QT应用程序打包成可执行程序exe

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

基于QT应用程序打包成可执行程序exe

这是打包成可执行文件的方法,还有打包成安装包文件的方法,个人感觉安装太麻烦,如果是比较小的应用程序不如一个可执行文件方便使用。

© 版权声明

相关文章

5 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    尊贵的新用户 读者

    这个我还没遇到过

    无记录
  • 头像
    CSW-补课中 投稿者

    打包的程序,会被360或者qq管家识别成病毒,直接清除掉

    无记录
  • 头像
    姐姐我就是女王 读者

    用qt5写了个串口工具,打包后50多M。。。

    无记录
  • 头像
    皂角 读者

    收藏了,感谢分享

    无记录
  • 头像
    行行行特别行 投稿者

    1.使用windeployqt打包,会出现一些qt动态库添加不全;2.使用visual box将动态库和exe打包成独立的exe文件时,也会出现某些动态库没有被打包进去到独立的exe文件中

    无记录