【问题标题】:This application failed to start because it could not find or load the Qt platform plugin "xcb" in "". AND cannot find /usr/lib/qt5此应用程序无法启动,因为它无法在“”中找到或加载 Qt 平台插件“xcb”。并且找不到 /usr/lib/qt5
【发布时间】:2017-09-23 17:41:26
【问题描述】:

好的,所以我看到了类似的问题,但似乎没有一个可以解决我的问题。几个月来我一直在使用 Qt Creator 开发一个应用程序,在 root 中使用该应用程序后(对于另一个不相关的项目),我发现我在使用 Qt Creator 时遇到了一些与权限相关的问题。

但是,一旦该问题得到解决,我尝试导入我在 Mac OS 上开发的项目,现在当我尝试运行该项目时,我收到以下错误。

此应用程序无法启动,因为它无法找到或加载 Qt平台插件“xcb”在“”

对于为什么会出现这种情况,我有点不知所措,并且在线解决方案似乎没有合适的答案。如果有人可以提供帮助,将不胜感激。

【问题讨论】:

  • 当您说“运行项目”时,您的意思是编译和运行可执行文件?还是您复制了可执行文件并尝试运行它?
  • 我的意思是在 IDE 中编译和运行可执行文件
  • 接下来的部分只是一个猜测,但您可以尝试:有一个 qt-maintenance 工具(基本上是在线安装程序;随 Qt 包一起安装),您可以在其中安装/更新不同的 Qt 库版本工具等。检查您安装了哪些库版本,以及它们是否与编译器匹配(至少在 Win 上,MSVC 和 mingw 需要不同的版本)。
  • 也许检查/usr/lib/qt5文件夹,如果有文件和platformplugins子文件夹,或者找到Qt的安装目录。这里的问题是:是没有安装必要的库还是程序没有找到它们(就像在这种情况下一样)。
  • xcb 看起来像是 QtGUI 的 linux 依赖项。这应该是libqcocoa 上的macos。以下是有关如何检查二进制文件的依赖项 (otool) 以及在安装中的何处找到它们的其他提示(类似/参见上面的评论)。

标签: c++ linux qt qt-creator


【解决方案1】:

xcb 看起来像 QtGUI 的 linux 依赖项。这应该是 macos 上的 libqcocoa。

您已将 Makefile 和其他特定于平台的构建文件从 linux 复制到 macos 系统。这些文件包含特定于您当前开发机器的信息(操作系统、已安装的 Qt、路径等)。 make clean 不会删除所有文件以进行全新的设置,qmake(从 appname.pro 生成 Makefiles)不能/不会为您解决这个问题。

您必须确保删除 Mac 上所有自动生成的文件(特别是但不限于:make clean、删除Makefiles 和“appname.pro.user*”文件)。

如果您在 macos 上正确安装了 Qt,则应用程序的重新编译和运行应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2016-06-10
    • 2015-06-06
    • 2017-07-24
    • 2014-04-11
    • 2014-10-01
    • 2019-07-26
    • 2018-06-07
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多