此应用程序无法启动,因为它无法找到或加载Qt平台插件"windows"错误消息

Lio*_*ing 5 c++ qt platform qt5

我以创建的应用程序Qt v5.3.1使用MinGW v4.8.2windows 7 32bit.
打开我的应用程序时出现以下错误:

我已经使用windeployqt.exe工具包含所有重要文件来运行我的应用程序.

platforms文件夹还包含:

此外,我已包含所有重要文件,无需使用windeployqt.exe工具即可手动运行我的应用程序,问题仍然存在.

我不知道如何解决这个问题.


编辑

使用Dependency Walker工具的结果.

我还是不知道如何获取这些dll文件question mark.

Lio*_*ing 2

首先,感谢大家为理解问题以及如何解决问题做出的贡献。

\n\n

现在,要解决这个问题,你必须准确地阅读这篇文章,以便首先了解问题是什么,然后再了解如何解决它。[部署一个真正的Qt应用程序\xe2\x80\x93了解更多Qt ]

\n\n

结论 简而言之:
\n问题的原因是the path of the plugins that you used in your project
\n您在项目中使用的插件的默认路径是qt path folder,但是当您的计算机上没有安装 qt 开发环境时,您的应用程序将无法运行,因为默认path to plugins指向qt path folder,这就是问题所在。
\n我们需要将插件路径定向/更改到您的应用程序文件夹。

\n\n

有多种方法可以引导/更改路径。我将提到我已经尝试并成功解决问题的方法

\n\n

有一个名为addLibraryPath(const QString & path)的静态方法,该方法我们将使用它来直接/更改the plugins path

\n\n

例子:

\n\n
int main(int argc, char *argv[])\n{\n    QApplication::addLibraryPath("pluginsFolder");\n    QApplication a(argc, argv);\n    Widget w;\n    w.show();\n\n\n    return a.exec();\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

pluginsFolder是包含您在项目中使用的所有插件的文件夹。

\n\n

您还可以更改

\n\n
QApplication::addLibraryPath("pluginsFolder");\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
QApplication::addLibraryPath(".");\n
Run Code Online (Sandbox Code Playgroud)\n\n

这意味着主应用程序文件夹中的插件不在名为 的子目录中plugins
\n并且不要忘记使用windeployqt.exe工具来部署您的项目。

\n\n

最后,我希望这个简短的解释对我之后面临同样问题的人有用。

\n