Qt windeployqt 失败:似乎不是 Qt 可执行文件?

Posted

技术标签:

【中文标题】Qt windeployqt 失败:似乎不是 Qt 可执行文件?【英文标题】:Qt windeployqt failed with: does not seem to be a Qt executable? 【发布时间】:2021-04-10 04:19:21 【问题描述】:

我有一个 qt c++ 纯程序。 windows中使用mingw8.1 gcc作为编译器。

我可以在 qt creator 中运行它。

但是当我想使用 windeplotqt 进行部署时,它失败了:

a.exe does not seem to be a Qt executable

我的步骤是:

1. copy the exe from build-xxx-release/release/a.exe to a clean folder
2. open terminal from QT(mingw) from my windows start menu
3. cd the clean folder in terminal
4. windeployqt a.exe

然后错误就出来了。

这让我很生气,因为我多次重新安装 QT。我可以确保我的 qt 是一个干净的环境。

有人可以帮忙吗?

【问题讨论】:

你能显示你的命令吗? windeployqt a.exe(a.exe是我的可执行文件) 你为什么要害羞这个exe?你调用了正确的windeployqt.exe(正确的架构)吗? @chehrlic 我读了一篇博客,它告诉我将 exe 文件复制到一个文件夹中,然后运行 ​​windeployqt。我想我使用的是正确的,因为我只有一个 QT 版本(QT 6.0.3 和 mingw 8.1) 不要重新安装 Qt。从来都不是问题。 【参考方案1】:

也许你使用了错误的“windeployqt”。

在win 10中,尝试找到Qt的安装目录,如C:\Qt\Qt6.1.0\6.1.0\msvc2019_64\binC:\Qt\Qt6.1.0\6.1.0\mingw81_64\bin

您的“windeployqt.exe”可能在“msvc2019_64”、“mingw81_64”或其他文件中。 然后使用C:\Qt\Qt6.1.0\6.1.0\msvc2019_64\bin\windeployqt.exe a.exe之类的命令 或C:\Qt\Qt6.1.0\6.1.0\mingw81_64\bin\windeployqt.exe a.exe ,而不是windeployqt.exe a.exe

【讨论】:

以上是关于Qt windeployqt 失败:似乎不是 Qt 可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章

windeployqt.exe 将 Qt 目录存放在哪里?

Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)

Qt 教你使用windeployqt工具来进行Qt的打包发布

Qt:利用windeployqt工具进行打包发布

Qt官方开发环境生成的exe发布方式--使用windeployqt

Qt windeployqt 导致部署不可用