【发布时间】:2017-03-01 16:20:16
【问题描述】:
首先,为了防止重复报告,我尝试了多种解决方案,给出了here、here、here、here 和 here。
我将 Qt 5.5.1 与 Visual Studio 2012 结合使用,并在 Windows 10 x64 上开发了我的应用程序(不使用 Qt Creator)。应用程序在发布模式下编译。
实际上,我的应用程序在我的 PC 上工作,没有任何问题,我的目录中唯一需要的库是:
Qt5Core.dll
Qt5Gui.dll
Qt5WinExtras.dll
Qt5Widgets.dll
Qt5Network.dll
msvcp110.dll
msvcr110.dll
现在,当我尝试在全新安装的 Windows 7 x86 上启动我的应用程序时,我收到以下错误消息:
此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。
重新安装应用程序可能会解决此问题。
现在我无法摆脱它。根据之前提出的问题,这可能是qwindows.dll 文件的问题(或者更准确地说是应用程序找不到它),首先我部署了我的发布目录,如下所示:
[..]\msvc2012\bin>windeployqt.exe <PATH>
它已经生成了我的应用程序启动所需的所有文件,包括platforms/qwindows.dll,所以我只是简单地将它们全部复制到 Windows 7 目录中而没有任何效果 - 仍然会出现错误。
我还尝试从msvc2012\plugins\platforms 手动复制qwindows.dll - 无效,
我做的最后一步是检查我在 Dependency Walker 中的应用程序 - 令人惊讶的是,没有与 qwindows.dll 相关的依赖项:
所以我现在没有想法,这里有什么问题?
【问题讨论】:
-
它不会显示为依赖项,但它仍然是。您是否将它放在相对于可执行文件的
platforms文件夹中? -
@ddriver 是的,一直在尝试多种方法,包括在
qt.conf中定义路径。 -
“我只是将它们全部复制到了 Windows 7”:您在 Windows 7 中的哪个位置复制了这些文件?
-
@wasthishelpful 好吧,没关系,因为我的应用程序
.exe在那里,所以它可能在桌面文件夹或文档上。重要的是结构是相同的。http://i.imgur.com/k91bYHg.png -
...您能否编辑您的问题并添加所有已部署的文件? (我的意思是确切的目录结构)
标签: c++ windows visual-studio qt dll