解决qt项目使用windeployqt程序打包软件时,缺少dll的问题

本文详细介绍了如何使用windeployqt工具对Qt软件进行打包,包括打包流程、遇到的dll缺失问题以及使用dumpin命令打印dll清单和解决方法。同时,提到如何检查和处理dll版本和架构的匹配问题。
摘要由CSDN通过智能技术生成

一. 使用windeployqt打包一个qt软件的基本流程

  1. 新建一个文件夹用于打包程序,通常建立纯英文名文件夹,将工程中的exe文件复制到该文件夹中。
    在这里插入图片描述
  2. 从windows开始菜单中找到Qt文件夹中的qt 6.6.1(MSVC 2019 64-bit),具体名称跟据你自己的软件版本,打开该编辑器。
    在这里插入图片描述
    注意有environment for Qt字样的编辑器才能使用windeployqt进行打包
    在这里插入图片描述
  3. cd + 文件夹绝对路径,进入该文件夹路径中
    在这里插入图片描述
  4. 键入指令 windeployqt xxxsoftware.exe ,改为你exe的名称,按下enter,成功打包的话,会出现下列一串东西。
    在这里插入图片描述
  5. windeployqt使用成功后,你建立的文件夹中会出现很多文件,如下例子
    在这里插入图片描述
  6. 至此,软件的打包基本完成,如你的项目有额外的外置文件夹,图片等,添加到该文件夹中即可运行。但,项目较大时,通常都会有一些dll没有自动打包进来,例如自己编译的第三方dll等需要手动添加,甚至有时不知道缺少了哪些东西。这时可以通过下列方法,打印软件所有被使用的dll清单,依次添加进去即可。

二. 使用dumpin 命令打印软件所有dll清单

  1. 从windows开始菜单中找到vs文件夹中的Develop PowerShell for Vs 2022命令台,具体版本名称根据你自己的软件寻找,打开命令台。 VS2015等版本可能没有Developer PowerShell for vs, 使用 x86 x64兼容工具命令提示符就可以,注意如果cd路径没有切换到,假设从D盘切换到C盘路径,输入C: 回车,就可以了。
    在这里插入图片描述
  2. 使用类似打包时的方式,cd+文件夹路径,进入打包文件夹路径中,输入 dumpbin.exe /IMPORTS .\xxxsoftware.exe >output.txt命令,将软件中使用的所有dll打印到output.txt文件中,注意exe名称改为你的名称。
    在这里插入图片描述
  3. 执行完上述命令后,能在打包文件夹中发现新增了一个output.txt文件。
    在这里插入图片描述
  4. 打开outout.txt文件,能发现所有dll名称及使用位置,使用everything软件,检索电脑中的对应dll,加入到打包文件夹中,即可解决dll缺失的问题。
    在这里插入图片描述
  5. dll全部添加后,如果出现红叉框,说明你可能错误复制了dll文件,比如release程序,你复制的dll时DEBUG下的,或者32位 64位版本的错误,如果出现红叉,一点点重新拷贝一遍,一般都没有问题。
  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小天才GO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值