gpt4 book ai didi

c++ - Qt应用启动失败,因为找不到插件 "windows"目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:54:08 24 4
gpt4 key购买 nike

我知道有几个关于 Qt 问题的答案(比如这个 Qt 5.1.1: Application failed to start because platform plugin "windows" is missing )。我用的是Qt 5,其他版本好像也有这个问题。

接受的答案不是我的问题,但按照链接将平台目录复制到可执行文件的解决方案工作正常。然而,我发现这个解决方案非常不令人满意,因为这意味着我必须在所有地方分发同一个目录。在项目中,我必须将它复制到我创建的每个项目的调试/发布分支​​中。运行designer.exe我也有这个问题,所以我也必须把它复制到那里,等等。

将我的QT安装目录中的插件目录放入PATH中并没有解决问题,虽然我不太明白为什么。显然有一些自定义代码加载所需的插件 DLL。

所以我想知道是否有一些可接受的方法可以正确地执行此操作,例如设置 QT_HOME 变量或类似变量,这样我就不必到处复制 DLL。

最佳答案

一般来说,自己构建 Qt 是一个坏主意,在这种情况下,甚至没有必要进行静态构建。您有几种方法可以解决此问题:

来自文档:

All Qt programs automatically support the following command line options:
\list

\li \c{-platform} \e {platformName[:options]}, specifies the
\l{Qt Platform Abstraction} (QPA) plugin.

Overridden by the \c QT_QPA_PLATFORM environment variable.
\li \c{-platformpluginpath} \e path, specifies the path to platform
plugins.

Overridden by the \c QT_QPA_PLATFORM_PLUGIN_PATH environment
variable.

void QCoreApplication::addLibraryPath(const QString & path) [static]

Prepends path to the beginning of the library path list, ensuring that it is searched for libraries first. If path is empty or already in the path list, the path list is not changed.

The default path list consists of a single entry, the installation directory for plugins. The default installation directory for plugins is INSTALL/plugins, where INSTALL is the directory where Qt was installed.

See also removeLibraryPath(), libraryPaths(), and setLibraryPaths().

根据您的具体愿望,这可以通过这样或那样的方式解决。

关于c++ - Qt应用启动失败,因为找不到插件 "windows"目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22870761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com