Qt5 静态构建产量 无法加载平台插件"windows"
Qt5 Static Build yields Failed to load platform plugin "windows"
我正在使用Visual Studio 2012在Windows上编写Qt应用程序。使用Qt插件和自定义构建的静态Qt 5.0.2发行版。每当我运行应用程序时,我都会遇到可怕的"Failed to load platform plugin windows"
错误。我在链接器输入中添加了以下内容:
imm32.lib
winmm.lib
Ws2_32.lib
qtmaind.lib
Qt5Cored.lib
Qt5Guid.lib
Qt5Widgetsd.lib
一开始我想也许我应该加上"qwindowsd"。Lib"也在该列表中,但是这并没有解决问题。我需要做什么才能使我的应用程序运行?
仅用于动态构建:确保将qwindows.dll移动到以下目录:
yourapp.exe
Qt5Core.dll
...
platforms/qwindows.dll
...
注意,plugins目录不见了!你把所有需要的文件夹从QT_BASE/…/plugins/*直接和你的二进制文件一起。顺便说一句:我不需要libgl .dll,但我的应用程序几乎没有GUI。
我的来源:http://qt-project.org/forums/viewthread/27056/#122588
我解决了。多亏了这个,我才能让所有的东西都工作起来。我添加了以下库:
opengl32.lib
Qt5PlatformSupport.lib
qwindows.lib
我还在我的代码中添加了以下内容:
#include <QtPlugin>
Q_IMPORT_PLUGIN (QWindowsIntegrationPlugin);
我有同样的错误与MinGW版本的Qt(非静态):"未能加载平台插件窗口"。
我的解决方案是添加dll libEGL.dll
和libEGLd.dll
。
您也可以创建一个环境变量:
QT_QPA_PLATFORM_PLUGIN_PATH=<QT_BASE>pluginsplatforms
在我的例子中变成:QT_QPA_PLATFORM_PLUGIN_PATH=f:Qt55.4msvc2013_openglpluginsplatforms
从而避免在开发期间安装/复制qwindows.dll
(以节省磁盘空间!?)
这个解决方案也在GitHub和这里提到过。
编辑:对不起,这在静态构建中无效。但是我将把A留在这里。
我也遇到过类似的问题。
我发现QT 5.2+有windeployq.exe
QT_DIRECTORY 5.2 bin windeployq.exe…
与项目目录(应用程序的.exe所在目录)一起使用。瞧!自动链接所有内容并准备好部署!
它将获得dll,插件等…自动!
另一种方法是将qtbase/plugins/platforms
目录复制到Debug/Release目录中,适当时只留下qwindowsd.dll
或qwindows.dll
。
从QT 5.9+ Qt5PlatformSupport开始。Lib 不再可用,并且被分割成不同的库。要在windows下创建静态构建,需要链接以下附加库:
Qt5FontDatabaseSupport.lib
Qt5EventDispatcherSupport.lib
Qt5ThemeSupport.lib
Qt5PlatformCompositorSupport.lib
Qt5AccessibilitySupport.lib
Qt5WindowsUiAutomationSupport.lib
qwindows.lib
并静态加载Windows插件:
#include <QtPlugin>
Q_IMPORT_PLUGIN (QWindowsIntegrationPlugin);
解决方案是,如果你正在使用anaconda和python使用qt设计器制作gui,然后去anaconda,pkgs,qt。然后将平台文件夹复制到包含program.exe
我正是这个问题。解决方案是在调试输出中检查Qt。该窗口告诉您它加载的所有dll。这些都是你可能需要在你的分发exe文件夹。
我在VS2015和Qt 5.9.3版本中有同样的错误
我通过将Qt5Core.dll和Qt5Core.dll(其中我的应用程序的exe)替换为Qt目录
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 在 Linux 平台的 C++ 中动态加载 DLL
- 如何在fixup_bundle宏之后修复"即使找到Qt平台插件也无法加载" " "xcb" Qt平台插件"?
- 在" "中加载Qt平台插件"windlows"
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"windows"
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"xcb"
- Qt5.1未能加载平台插件xcb
- Qt5 静态构建产量 无法加载平台插件"windows"
- 无法找到或加载Qt平台插件"windows"
- 如何生成 64 位.dll哪个 gcc 编译器或其他。无法在 AMD 64 位平台上加载 IA 32 位.dll
- 与Qt静态链接的应用程序出现错误:无法加载平台插件"windows"
- 无法加载平台插件"windows" 可用平台包括:窗口,最小
- (Qt 5.7.0)无法找到或加载 qt 平台插件"windows"
- C++ Linux 平台上运行时加载共享库并提取类实现