Qt应用程序无法启动,因为找不到插件"windows"目录
Qt application failed to start because not finding the plugin "windows" directory
我知道Qt有几个答案可以解决这个问题(比如这个Qt 5.1.1:应用程序无法启动,因为缺少平台插件"windows")。我使用的是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]
将路径附加到库路径列表的开头,确保首先搜索库。如果路径为空或已在路径列表中,则不会更改路径列表。
默认路径列表由单个条目组成,即插件的安装目录。插件的默认安装目录是 INSTALL/plugins,其中 INSTALL 是安装 Qt 的目录。
另请参阅 removeLibraryPath()、libraryPaths() 和 setLibraryPaths()。
根据您的确切愿望,这可以以一种或另一种方式解决。
尝试使用 QCoreApplication::addLibraryPath(PATH TO PLUGIN FOLDER).
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 'string'文件在带有C++文件的iOS插件上找不到
- Qt找不到平台插件可可
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"windows"
- Maven NAR插件:在路径上找不到DLL依赖项
- 部署Qt-dll文件-找不到windows插件,尽管平台/qwindows.dll存在,因此存在libEGL和libGL
- Qt5 找不到 Mac OS X 的平台插件
- 此应用程序无法启动,因为它找不到或加载Qt平台插件"xcb"
- Qt应用程序无法启动,因为找不到插件"windows"目录