QT 打包以及运行运行程序出现0x0000007b

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

时间:2019年7月22日09:34:38

在使用Qt编译程序并进行release编译后,当您点击生成的.exe文件时,可能会提示缺少许多.dll文件。有人建议在网上找到所缺的文件并手动添加,但我这里使用了Qt自带的一个批处理软件windeployqt.exe来解决这个问题。具体方法如下:

  1. 将您编译的release版本的.exe文件复制到一个文件夹中。
  2. 运行windeployqt.exe,它会自动找到并添加所需的库文件。

请注意,在命令行窗口中运行windeployqt.exe时需要注意路径问题。直接输入该命令可能会报错,因为系统找不到该程序。为了解决这个问题,有两种方法可以运行它。请注意以下步骤:

  1. 您可以在终端中指定windeployqt.exe的位置进行运行。但是需要注意的是,windeployqt.exe会找到的.dll文件可能无法正常运行。即使您双击.exe程序,仍然可能会出现错误提示。如下图所示:

[图片:错误提示截图]

  1. 为了解决这个问题,您可以手动搜索Qt的安装路径,找到所缺的.dll文件。一旦找到了所需的.dll和库文件,您可能会认为问题已经解决了。然而,当您再次双击运行程序时,仍然可能会出现错误提示0x0000007b。这让人感到困惑。

经过一段时间的研究,我发现了一些资料,其中提到编译器的差异可能是问题的原因。我检查了我的编译器,发现没有问题。然后我想到一个突发奇想的方法,尝试在windeployqt.exe的路径下运行它,看看是否有效(我有点绝望了,因为网上也有其他人遇到了同样的问题,但是解决方法都是胡扯)。

我重新打开命令行窗口cmd,并指定编译生成的.exe文件的路径,让windeployqt.exe再次为我找到所需的文件。这次不是通过window+r运行,而是通过以下步骤:

  1. 点击运行后,命令行窗口直接进入了该目录。您可以使用dir命令查看该目录下的文件。我们的windeployqt.exe位于bin目录下,所以还需要切换到该目录。输入命令cd bin即可切换。

  2. 清空文件夹中的内容,只保留您的.exe文件。然后在命令行中指定您的.exe文件的位置,如下所示:

[图片:命令行截图]

  1. 然后查看找到的各种库和.dll文件。

  2. 再次尝试双击运行程序,这次应该可以成功运行了。

至此,问题基本解决了。但是我仍在思考这个问题,因为它非常奇怪。按理说,使用指定windeployqt.exe和后面的方法找到的文件应该是一样的,但为什么结果不一样呢?如果有人知道原因,请在下面留言(嘿嘿)。

赞(0)