【问题标题】:Qt 5.1.1: Application failed to start because platform plugin "windows" is missingQt 5.1.1:应用程序无法启动,因为缺少平台插件“windows”
【发布时间】:2013-12-28 00:54:30
【问题描述】:

编辑: 有些人开始将我的问题标记为重复。不要忘记当我问这个问题时存在许多类似的问题(参见下面的列表)。但是,这些答案都没有解决我的问题。经过长时间的搜索,我找到了一条评论,所有指向丢失库的用户都忽略了该评论。现在,几个月后,评论已更改为答案。但是,当我自己回答这个问题时,我打算通过直接提供解决方案来帮助其他人。这不应该被遗忘,到目前为止我的回答帮助了很多人。因此我的问题绝对不是重复的。 顺便说一句:顶部提供的链接中接受的答案不能解决问题


是的,我使用了搜索:

Failed to load platform plugin "windows". Available platforms are : Error

Deploying Qt C++ Application from Visual Studio qwindows.dll error

failed to load platform plugin "windows" Available platforms are: windows, minimal

但是,就我而言,问题仍然存在。我将 Qt 5.1.1 与 Visual Studio 2012 一起使用,并使用 Qt Creator 2.8.1 在 Windows 7 上开发了我的应用程序。应用程序以“Release”模式编译,直接用Qt Creator启动即可执行。

但是,当从“发布”文件夹开始时,我收到以下消息:

此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。可用的平台插件有: 最小,离屏,窗口。

文件夹结构如下:

release
+ gui.exe
+ icudt51.dll
+ icuin51.dll
+ icuuc51.dll
+ libGLESv2.dll
+ Qt5Core.dll
+ Qt5Gui.dll
+ Qt5Widgets.dll
+ platforms

Platforms 是直接从 Qt\Qt5.1.1\5.1.1\msvc2012\plugins\platforms 复制的文件夹,包括例如qwindows.dll。如果我像其他一些用户那样将它重命名为“平台”也没关系。 Qt 仍然没有找到“平台插件窗口”,我的错误在哪里?

【问题讨论】:

  • 我有类似的问题。 Windows 8.1 Qt 5.3.1 MinGW 32,动态链接。通过将 DLL 从 Qt 的文件夹复制到 ../MyApp/platforms/qwindows.dll 来解决。注意:路径中没有“插件”目录
  • 或类似的问题,请使用工具Depends,它会告诉你DLL依赖和由此产生的问题。您可以使用此工具对 exe 或 dll 文件进行静态分析,也可以使用它来显示具有动态加载的 DLL 的应用程序的启动情况。
  • 使用windeployQt

标签: c++ windows qt visual-studio-2012


【解决方案1】:

好的,在此处发布https://stackoverflow.com/a/17271172/1458552 并没有引起其他用户的太多关注:

libEGL.dll 丢失了!尽管在尝试启动应用程序时未报告此问题(已报告所有其他 *.dll,例如 Qt5Gui.dll)。

【讨论】:

  • libEGL.dll 位于何处?
  • 在我的例子中:Qt\Qt5.1.1\5.1.1\msvc2012\bin (当然取决于你的 Visual Studio 版本)
  • 你怎么知道丢失的 dll 是 libEGL ?
  • @user1493046 我设法使用 depends 及其分析模式 (F7) 重现了这一点。应用启动并显示错误后,libEGL.dll 出现在依赖项列表中。
  • 添加 libEGL.dll 无效。但是,设置以下环境变量对我有用:QT_QPA_PLATFORM_PLUGIN_PATH=%QTDIR%\plugins\platforms\
【解决方案2】:

我在我的 exe 位置旁边创建了一个平台目录并将 qwindows.dll 放入其中,但我仍然收到“无法加载平台插件“windows”。可用平台是:windows”错误。

我从 C:\Qt\Qt5.1.1\Tools\QtCreator\bin\plugins\platforms 复制了 qwindows.dll,这不是正确的位置。我查看了在 Qt Creator 中运行的调试日志,发现我的应用在调试器中运行时正在 C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\platforms 中查找。

当我从 C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\platforms 复制时,一切正常。

【讨论】:

  • 设置以下环境变量对我有用:QT_QPA_PLATFORM_PLUGIN_PATH=%QTDIR%\plugins\platforms\
  • 设置 QT_QPA_PLATFORM_PLUGIN_PATH 对我有用。谢谢@arsalank2
【解决方案3】:

该版本可能缺少库/插件,或者该库位于错误的目录和/或来自错误的目录。

Qt 预期答案:使用windeployqt。解释见最后一段

手动回答:

在与您的 application.exe 文件相同的目录中创建一个名为“platforms”的文件夹。将 qwindows.dll(位于您用于发布应用程序的编译器的 /bin 中)复制并粘贴到“平台”文件夹中。就像魔术一样有效。如果 .dll 不存在,请检查 plugins/platforms/ (其中 plugins/ 与 bin/ 位于同一目录中)

似乎一个常见的问题是 .dll 是从错误的编译器 bin 中获取的。请务必从与用于发布您的应用程序的编译器相同的编译器复制您的 qwindows.dll。

Qt 带有平台控制台应用程序,这些应用程序会将所有依赖项(包括 qwindows.dll 和 libEGL.dll 等依赖项)添加到已部署的可执行文件的文件夹中。这是部署应用程序的预期方式,因此您不会错过任何库(这是所有这些答案的主要问题)。 Windows 应用程序称为windeployqt。每个操作系统可能都有一个部署控制台应用程序。

【讨论】:

  • 这就是我所需要的:注意,qwindows.dll 不在您的 Qt 平台安装的 bin/ 中,而是在 plugins/platforms/ 中,其中 plugins/ 与 bin/ 位于同一目录中跨度>
  • 谢谢!综上所述,文件分别为:主目录下的Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll和YourApp.exe,子目录下的platforms\qwindows.dll和platforms\libEGL.dll。
  • windeployqt 是正确的答案。我使用了它,它复制了 .exe 旁边所需的所有内容。它消除了知道哪个 dll 需要哪些不需要的猜测
  • windeployqt使用方法:打开cmd或者powershell,运行windeployqt.exe .\target.exe
【解决方案4】:

QT_QPA_PLATFORM_PLUGIN_PATH 环境变量设置为 %QTDIR%\plugins\platforms\ worked for me

还提到了herehere

【讨论】:

  • 虽然这个答案可能会让它在您当前的机器上运行,但它并不能帮助那些试图将他们的程序部署到其他机器并且需要具体确定哪些库缺失/需要的人。跨度>
  • 2017 年,这对我有用。我不会部署任何应用程序!使用 Qt 创建者只需 Open\New file or project...\ Qt Widgets Application ,然后 Run 并崩溃并显示相同的消息。设置这个变量帮助我。
  • 只需将 plugins 文件夹复制到您的即兴“发行版”旁边的某个位置,并将 env var 指向它——应该可以工作(无需使用“QTDIR”):)
【解决方案5】:

我遇到了这个问题,我找不到任何答案来解决这个问题。

我的同事在他的机器上安装了 Qt (5.6.0): C:\Qt\Qt5.6.0\5.6\msvc2015\plugins
我在同一位置安装了 Qt (5.6.2)。

我从这篇文章中了解到:http://www.tripleboot.org/?p=536,Qt5Core.dll 在首次安装 Qt 时具有写入插件的位置。 由于我同事和我的 Qt 目录相同,但安装了不同版本的 Qt,因此需要不同的 qwindows.dll 文件。当我运行他部署的 exe 时,它​​将使用我的 C:\Qt\Qt5.6.0\5.6\msvc2015\plugins\platforms\qwindows.dll 文件,而不是位于 .\platforms 子文件夹中可执行文件旁边的文件。

为了解决这个问题,我在应用程序中添加了以下代码行,这似乎迫使它在查看 Qt5Core.dll 中的路径之前先查看 exe 旁边的“平台”子文件夹。

QCoreApplication::addLibraryPath(".");

我在 QApplication 调用之前将上述行添加到 main 方法中,如下所示:

int main( int argc, char *argv[] )
{
    QCoreApplication::addLibraryPath(".");
    QApplication app( argc, argv );
    ...
    return app.exec();
}

【讨论】:

  • 这个对我有用...但请注意,如果您碰巧与同事共享调试版本,则可能需要在 `platforms` 目录中使用qwindowsd.dll。 ..
  • 这个对我有用,因为提到 qwindowsd.dll,我知道我的应用程序是在调试模式下编译的,我确实安装了 Qtxxxd.dll 库,但在平台文件夹。
  • 根据 QT 文档,The directory of the application executable (NOT the working directory) is always added followed by .... 似乎暗示 addLibraryPath() 总是以当前 exe 目录作为参数调用。因此,只需将 qwindows.dll 放在 exe 旁边的平台文件夹中即可解决此问题。
【解决方案6】:

创建目录platforms并将qwindows.dll复制到其中,platformsapp.exe在同一个目录中

cd app_dir mkdir platforms xcopy qwindows.dll platforms\qwindows.dll

文件夹结构 + app.exe + platforms\qwindows.dll

【讨论】:

  • 问题中提到“Platforms是直接从Qt\Qt5.1.1\5.1.1\msvc2012\plugins\platforms复制的文件夹,包括例如qwindows.dll。”
  • @parasietje 应用正在platforms 目录中寻找qwindows.dll。我发布这个是因为我已经修复了它。你在投反对票之前做测试吗?
  • 您的回答没有回答原始问题。您的回答暗示了原始发帖人已经尝试过的一些事情。
【解决方案7】:

我找到了另一个解决方案。在 app 文件夹中创建 qt.conf,如下所示:

[Paths]
Prefix = .

然后将 plugins 文件夹复制到 app 文件夹中,它对我有用。

【讨论】:

  • 好的,我在 minGW、CMake、Qt 5.12 环境中,无法应用 windeploy-tool。平台文件夹在那里,但没有工作。用 Qt-lib 中的一个替换它也没有帮助。通过使用您的技巧(复制文件夹后)修复。谢谢!
【解决方案8】:

对我来说,解决方案是更正 PATH 变量。它有 Anaconda3\Library\bin 作为第一条路径之一。该目录包含一些 Qt 库,但不是全部。显然,这是一个问题。将 C:\Programs\Qt\5.12.3\msvc2017_64\bin 移动到 PATH 的前面为我解决了这个问题。

【讨论】:

    【解决方案9】:

    对于来自 QT 版本 5.14.0 的任何人,我花了 2 天时间才找到这个错误声明:

    windeployqt 不适用于 MinGW QTBUG-80763 将在 5.14.1

    https://wiki.qt.io/Qt_5.14.0_Known_Issues

    所以请注意。将 windeployqt 与 MinGW 一起使用将给出与此处所述相同的错误。

    【讨论】:

      【解决方案10】:

      我在使用 QT 5.6、Anaconda 4.3.23、python 3.5.2 和 pyinstaller 3.3 时遇到了这个问题。 我创建了一个 python 程序,其接口使用 QTcreator 开发,但必须将其部署到其他计算机,因此我需要使用 pyinstaller 制作一个可执行文件。

      如果我设置以下环境变量,我发现问题在我的计算机上得到了解决:

      QT_QPA_PLATFORM_PLUGIN_PATH: %QTDIR%\plugins\platforms\

      QTDIR:C:\Miniconda3\pkgs\qt-5.6.2-vc14_3\Library

      但此解决方案仅适用于我在这些文件夹中安装了 conda 和 qt 的 PC。

      为了解决这个问题并使可执行文件在任何计算机上运行,​​我必须编辑“.spec”(首先由 pyinstaller 生成的文件)以包含以下行:

      数据=[( 'C:\Miniconda3\pkgs\qt-5.6.2-vc14_3\Library\plugins\platforms*.dll', '平台'),]

      此解决方案基于 Jim G. 和 CrippledTable 的回答

      【讨论】:

        【解决方案11】:

        这些答案中的大多数都包含良好(正确)的信息,但就我而言,仍然缺少一些东西。

        我的应用程序是作为库 (dll) 构建的,并由非 Qt 应用程序调用。我用windeployqt.exe在安装目录下设置了Qt dll、平台、插件等,但还是找不到平台。经过一些实验,我意识到应用程序的工作目录设置为不同的文件夹。因此,我使用 GetModuleHandleExA 抓取了 dll “存在”的目录,并在运行时使用

        将该目录添加到 Qt 库路径中
        QCoreApplication::addLibraryPath(<result of GetModuleHandleExA>);
        

        这对我有用。

        【讨论】:

          【解决方案12】:

          我遇到了同样的问题,并通过应用几件事解决了它。 第一个,如果它是您使用 Qt 编写的程序。

          在“C:\Qt\Qt5.10.0\5.10.0\msvc2017_64\plugins”的文件夹(在我的情况下)中,您可以找到其他文件夹,其中之一是“平台”。该“平台”文件夹将被复制到您的 .exe 可执行文件旁边。现在,如果您收到错误 0xc000007d,说明您没有复制原来的版本,因为它可以是 32 位或 64 位。

          如果您继续出现错误,则说明您缺少更多库。使用“Dependency Walker”程序,您可以检测到一些丢失的文件夹。它肯定会告诉您您需要一个 NVIDIA .dll,并告诉您位置。

          另一种方法是从可执行文件旁边的“C:\Windows\System32”文件夹中复制所有 .dll,而不是使用“Dependency Walker”。执行您的 .exe,如果一切正常,因此您不需要或使用不需要或使用的 dll 库中没有空间占用,请使用带有所有选项的 .exe 程序,并且在不关闭 .exe 的情况下删除所有 .exe 文件。你刚刚复制的.exe旁边的dll,所以如果你的程序正在使用这些.dll,系统不会让你擦除,只会删除那些不需要的。

          我希望这个解决方案能为您服务。

          请记住,如果您的操作系统是 64 位,库将在 System32 文件夹中,如果您的操作系统是 32 位,它们也将在 System32 文件夹中。发生这种情况是为了不存在与 64 位计算机中的 32 位程序的兼容性问题。 SysWOW64 文件夹包含 32 位文件作为备份。

          【讨论】:

          • 它有效,但更像是一个临时解决方案。是否可以做一些事情,以便您不需要复制平台文件夹?
          【解决方案13】:

          对于 MinGW 平台,如果您通过手工编写的 CMakeLists.txt 临时编写来编译调试目标,您还需要将 qwindows.dll 添加到平台目录中。 windeployqt 可执行文件运行良好,但似乎出于某种奇怪的原因,CMake 构建也需要发布变体。 总之,最好在您的平台目录中同时拥有 qwindows.dll 和 qwindowsd.dll。 在 QtCreator 中导入 CMake 项目然后运行构建过程时,我没有注意到同样奇怪的结果。 如果为 Debug 目标设置了正确的依赖项(qwindowsd.dll),在命令行上编译 CMake 项目似乎会触发 qwindows.dll 依赖项

          【讨论】:

            【解决方案14】:

            使用这个批处理文件:RunWithQt.bat

            @echo off
            set QTDIR=C:\Qt\Qt5.1.1\5.1.1\msvc2012\bin
            set QT_QPA_PLATFORM_PLUGIN_PATH=%QTDIR%\plugins\platforms\
            start %1
            
            • 要使用它,请将您的 gui.exe 文件拖放到资源管理器中的 RunWithQt.bat 上,
            • 或从命令行调用RunWithQt gui.exe

            【讨论】:

              【解决方案15】:

              如果你安装了 Anaconda,我建议你卸载它并尝试从源代码安装 python 包,我用这种方式解决了这个问题

              【讨论】:

                【解决方案16】:

                应用程序 qtbase/bin/windeployqt.exe 会自动部署您的应用程序。如果您在正确设置环境变量的情况下启动提示,它将部署到当前目录。 您找到一个脚本示例:

                @echo off
                set QTDIR=E:\QT\5110\vc2017
                
                set INCLUDE=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\ATLMFC\include;S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\cppwinrt
                
                set LIB=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\ATLMFC\lib\x86;S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\x86;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x86;C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\ucrt\x86;C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86;
                
                set LIBPATH=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\ATLMFC\lib\x86;S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\x86;S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\x86\store\references;C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.17134.0;C:\ProgramFiles (x86)\Windows Kits\10\References\10.0.17134.0;C:\Windows\Microsoft.NET\Framework\v4.0.30319;
                
                Path=%QTDIR%\qtbase\bin;%PATH%
                set VCIDEInstallDir=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\
                set VCINSTALLDIR=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\
                set VCToolsInstallDir=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\
                set VisualStudioVersion=15.0
                set VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
                set VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
                set VS120COMNTOOLS=S:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
                set VS150COMNTOOLS=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\
                set VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
                set VS90COMNTOOLS=c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
                set VSINSTALLDIR=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\
                set VSSDK110Install=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VSSDK\
                set VSSDK150INSTALL=S:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VSSDK
                set WindowsLibPath=C:\Program Files (x86)\Windows Kits\10\UnionMetadata;C:\Program Files (x86)\Windows Kits\10\References
                set WindowsSdkBinPath=C:\Program Files (x86)\Windows Kits\10\bin\
                set WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\
                set WindowsSDKLibVersion=10.0.14393.0\
                set WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.14393.0\
                set WindowsSDKVersion=10.0.14393.0\
                set WindowsSDK_ExecutablePath_x64=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\
                set WindowsSDK_ExecutablePath_x86=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\
                
                mkdir C:\VCProjects\Application\Build\VS2017_QT5_11_32-Release\setup
                cd C:\VCProjects\Application\Build\VS2017_QT5_11_32-Release\setup
                copy /Y ..\Release\application.exe .
                windeployqt application.exe
                pause
                

                【讨论】:

                  【解决方案17】:

                  比方说,你想要一些CGAL-Demos 便携。因此,您将有一个文件夹“CGAL”,其中有一个名为“lib”的子文件夹:CGAL 文件夹中任何程序的所有(通用)支持 dll 都在此处。在我们的示例中,这将是Dll-Download:只需解压缩到“lib”目录即可。在demos-page 上向下滚动的越远,内容就越令人印象深刻。就我而言,polyhedron-demo 似乎是正确的。如果这在我 10 岁以上的笔记本上运行,我印象深刻。所以我在“CGAL”目录中创建了一个文件夹“demo”,旁边是“lib”。 现在在该文件夹中创建一个 .cmd 文件。我将我的命名为“Polyhedron.cmd”。所以我们有一个这样的目录结构:

                   CGAL - the bag for all the goodies
                    lib - all libraries for all CGAL-packages
                   demo - all the demos I'm interested in
                  [...] - certainly some other collections, several apps per folder...
                  Polyhedron.cmd - and a little script for every Qt-exe to make it truly portable.
                  

                  在这个小例子中,“Polyhedron.cmd”包含以下文本:

                  @echo off
                  set "me=%~dp0"
                  set PATH=%me%lib
                  set "QT_PLUGIN_PATH=%me%lib\plugins"
                  start /b "CGAL Polyhedron Demo" "%me%demo\polyhedron\polyhedron_3.exe"
                  

                  显然,除了最后一行之外,所有脚本都可以相同。唯一需要注意的是:只要您使用实际程序,“DOS 窗口”就会一直打开。关闭 shell 窗口,你也可以杀死 *.exe。无论您将“CGAL”文件夹复制到何处,因为奇怪的“%~dp0”-wriggle 代表了我们启动的 *.cmd 文件的完整路径,并带有尾随“\”。所以“%me%lib”始终是实际库的完整路径(在我的例子中是“CGAL\lib”)。接下来的 2 行告诉 Qt 它的“运行时”文件在哪里。这将至少是 Windows-Qt 程序的文件“qwindows.dll”加上任意数量的 *.dll。如果我没记错的话,Dll 库(至少在我下载它时)有一个小“错误”,因为它包含“平台”目录,其中包含 qwindows.dll。所以当你打开lib目录时,你需要在“platforms”旁边创建一个文件夹“plugins”,然后move到“plugins”中。如果一个 Qt 应用程序,any Qt 应用程序没有找到“qwindows.dll”,它就找不到“windows”。并且它期望它在“plugins”目录中名为“platforms”的目录中,它必须被操作系统告知它正在运行......并且如果“QT_PLUGIN_PATH”不完全指向你的所有帮助程序-dll需要,一些 Qt 程序仍然可以毫无问题地运行。还有一些人抱怨缺少您从未听说过的 *.dll...

                  【讨论】:

                    【解决方案18】:

                    我遇到了同样的错误,并用与其他帖子中提到的方法不同的方法解决了它。希望这对未来的读者有所帮助。

                    构建:

                    Windows 10(64 位) Minicoda(使用 python 3.9.4)(pkgs 来自 conda-forge 频道) pyqt 5.12.3

                    我的场景:

                    我正在为一些嵌入式工作构建一个 GUI 应用程序。我有两台用于开发的机器(相同的操作系统和架构),一台的互联网连接为零。打包我的环境并在离线机器上安装后,我遇到了你得到的错误。

                    解决方案:

                    在您的 conda 环境中找到 qt.conf 文件。 对我来说:C:\Users\"name"\miniconda3\envs\"env_name"\qt.conf

                    确保路径正确。我需要更新“名称”,因为这是旧机器遗留下来的。

                    希望这对某人有所帮助。

                    【讨论】:

                      【解决方案19】:

                      我在 Windows 10 (VS2019) 中运行 QT5 应用程序时遇到了同样的问题。 我的错误是

                      ..\Debug\Qt5Cored.dll
                      模块:5.14.1
                      文件:kernel\qguiapplication.cpp
                      线路:1249

                      此应用程序无法启动,因为无法初始化 Qt 平台插件。
                      重新安装应用程序可能会解决此问题。

                      解决方案

                      由于我使用的是 QT msvc2017,因此我将插件文件夹从“C:\Qt\Qt5.14.1\5.14.1\msvc2017\plugins”位置复制到二进制位置

                      成功了。

                      然后检查 Visual Studio 输出窗口并识别从插件文件夹加载的 dll 并删除不需要的 dll

                      【讨论】:

                        【解决方案20】:

                        QT_PLUGIN_PATH 环境变量设置为 &lt;...&gt;/plugins 目录也对我有用。

                        【讨论】:

                          【解决方案21】:

                          我在 Pycharm 尝试运行 Matplot 时遇到错误。对我有用的解决方案是将 Anaconda3\Library\plugins 目录(例如:c:\Program files\Anaconda3\Library\plugins)设置为环境变量“QT_PLUGIN_PATH”。 要进行设置,您应该转到控制面板/系统/高级系统设置/环境变量。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2018-04-28
                            • 2020-05-19
                            • 2014-04-11
                            • 2020-04-13
                            • 1970-01-01
                            • 2016-01-13
                            • 2015-06-06
                            • 1970-01-01
                            相关资源
                            最近更新 更多