请记住,所有这些都是使用 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/