c++ - (Qt 5.7.0) 无法找到或加载 qt 平台插件 "windows"

标签 c++ windows qt dll

请记住,所有这些都是使用 Qt Creator(5.6.1 和 5.7):

我在我的工作机器上做了一个项目(Win7,64 位,在 Qt 5.6.1 中用 MinGW 5.3.0 32 位编译)。它在调试和 Release模式下都能完美运行。

不久之后,我决定在另一台机器(WinXp,32 位)上测试我的程序。我刚刚传递了可执行文件和 .dll。仍然像魅力一样工作。

后来,我在我的游戏机(Win10,64 位)中测试了我的程序的相同版本。奇怪的是,它根本不起作用。我收到以下错误:


“无法找到或加载 qt 平台插件“windows””。


我记得如果缺少.dll,就会出现这个错误。所以我将 Qt 文件夹中的所有 .dll 传递到我的程序文件夹(目的是删除不需要的后者)。令我惊讶的是,它仍然没有用。但错误是不同的:


“无法找到或加载 qt 平台插件“windows”...可用的平台插件有:minimal、offscreen、windows、minimal、offscreen、windows。”


它非常清楚地找到了平台插件窗口(无论是 qwindows 还是 qwindowsd... 或两者兼而有之),但无法加载它。有什么想法吗?


编辑:C:\Qt\5.7\mingw53_32\bin 中的所有 .dll 都已复制并粘贴到包含可执行文件的文件夹中。

C:\Qt\5.7\mingw53_32\plugins 中的所有文件夹 都已复制并粘贴到包含可执行文件的文件夹中。

这几乎就是我添加的所有 .dll!

最佳答案

为什么会出现问题

老实说,我不知道。但似乎“Alexander Saprykin”的答案是正确的。在测试过程中,我不得不更新我的 Qt,所以它很可能只是版本不匹配。

此外,当我仅使用 Qt 5.7.0 重做我的构建时它起作用了,这意味着它确实只是一个不匹配的情况。

我是如何解决的

正如“Sebastian Lange”在评论中所说,使用 windeplyqt.exe 完成了这项工作。我刚刚删除了构建文件夹中除 .exe 之外的所有内容,打开 Qt5.7 命令行,将目录更改为与我的 .exe 相同的目录并运行命令 windeployqt .windeployqt [name_of_exe].exe

谢谢大家!

关于c++ - (Qt 5.7.0) 无法找到或加载 qt 平台插件 "windows",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38359850/

相关文章:

windows - 如何从操作系统命令行启动 PowerShell 脚本?

c++ - Windows 7 库

c++ - 使用 C++ 和 CryptoApi/SChannel 从 SChannel 中提取证书链

qt - Qt、MinGW、CMake 配置错误 : Qt version not found

ios - 是否存在 IOS 特定的 Qt 样式可以替代默认的 Fusion 样式?

c++ - SQRT 对比 RSQRT 对比 SSE _mm_rsqrt_ps 基准

c++ - "Unresolved external _WinMain@16"如果我将 WndProc 移动到另一个 cpp 文件

c++ - 显式移动构造函数是否消除了隐式复制构造函数?

c++ - 为 C++ 定义一个错误类

qt - 在 Qt 中,什么时候应该使用 RESOURCES、DISTFILES 和 OTHER_FILES