运行在Wayland的Qt应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行在Wayland的Qt应用程序相关的知识,希望对你有一定的参考价值。

运行:

./myapp -platform wayland

得到:

这个应用程序未能启动,因为它无法找到或在“加载的Qt平台插件“韦兰””。

可用平台插件是:eglfs,linuxfb,最小,minimalegl,屏幕外,VNC,XCB。

重新安装应用程序可能修复问题。中止(核心转储)

继说明:How to build qtwayland?

运行QMAKE得到:

运行配置测试...完成运行配置测试。

配置总结:Qt的韦兰客户端没有........................

Qt的韦兰合成器....................没有

注:未检测到韦兰东瀛支持。跨工具包兼容禁用。

所述qtwayland自述表示2间的依赖关系:

  1. xkbcommon 0.2.0 - http://xkbcommon.org/
  2. 韦兰1.6.0 - http://wayland.freedesktop.org/

在Fedora 28,libxkbcommon被默认安装。此外,我还安装libxkbcommon-devel的

 dnf whatprovides *wayland*

不返回任何结果,虽然我的GNOME会话下运行的Wayland。

我看我可以从https://wayland.freedesktop.org/releases.html下载韦兰。我下载并解压缩1.15,但不知道该怎么与解压缩源做的事:我建了吗?我需要把它的地方在那里qtwayland可以找到它?

我看到下面的文件默认情况下的Fedora 28存在:

/US人/礼拜64/其他5/plugins/Wayland-graphics-integration-server/礼拜Wayland-饿过了.so

但是,将其拷贝到〜/ QT / 5.10.1 / gcc_64 /插件/平台不能解决我的应用程序启动时出现错误。

问:如何让我的Qt应用程序在Wayland的运行?


新增的响应低于bobbaluba问题:

我想,因为未包括它建立QtWayland对官方的Qt二进制文件。

安装韦兰-devel的的建议,但仍的qmake报告没有配置Qt的韦兰客户端,按照上述消息。

试着用DNF,报告安装QT5-qtwayland:包装QT5-qtwayland-5.10.1-2.fc28.x86_64已安装,跳过。

下面可能是相关的:

?须藤DNF whatprovides libwayland-egl.so

最后到期的元数据检查:0点18分44秒前于星期三2018年5月9日下午9点15分20秒+08。

QT5-qtwayland-5.10.1-2.fc28.i686:QT5 - 韦兰平台支持和QtCompositor模块

回购:Fedora的

从配套:

提供:libwayland-egl.so

?查找/ -name libwayland-egl.so * -print

/US人/礼拜64/礼拜Wayland-饿过了.so

/US人/礼拜64/其他5/plugins/Wayland-graphics-integration-server/礼拜Wayland-饿过了.so

?须藤-p LDCONFIG | grep的韦兰东瀛

libwayland-egl.so.1(libc6的,X86-64)=> /lib64/libwayland-egl.so.1

libwayland-egl.so(libc6的,X86-64)=> /lib64/libwayland-egl.so

Qt安装5.11.0rc这就造成了

〜/ QT / 5.11.0 / gcc_64 /插件/ Wayland的图形集成服务器/ libwayland-egl.so

〜/ QT / 5.11.0 / gcc_64 /插件/ Wayland的图形集成服务器/ libwayland-egl.so.debug

被添加到〜/ QT / 5.11.0 / gcc_64 /插件/平台。

cmake的的CMakeFile.txt突然停了下来,当我安装Qt5.11rc工作 - 用gcc找不到Qt的头就像QDATE。

试图编译示例项目“地址簿”使用Qt5.11并获得:

在QSocketNotifier:只能线程使用开始的QThread

使用韦兰东瀛

使用“XDG-壳-V6”壳一体化

总之,使用Qt5.11rc似乎解决该问题。

答案

Why does configuring QtWayland fail?

我假设(纠正我,如果我错了),你正在试图建立QtWayland对不包括QtWayland正式的Qt二进制文件。

你有没有安装开发包?你的情况,我认为它应该是wayland-devel

顺便说一句,你看到libwayland-egl.so,是你的发行版的Qt的韦兰东瀛缓冲集成(不一样作为QMAKE抱怨缺少libwayland-egl.so依赖)的版本。但是,你仍然应该能够建立QtWayland没有韦兰东瀛,所以我不知道这是怎么回事。

Other options:

1.使用官方QtWayland二进制

你可能会遇到这个问题,因为Qt程序包,以前不包括QtWayland。

然而,开始使用Qt 5.11.0正式Qt二进制应包括QtWayland,所以最简单的事情很可能是安装的Qt 5.11.0或更高版本。

2.使用Qt(和Qt的Wayland)的发行版的版本

安装并从发行版使用Qt,请确保您还安装qtwayland(在Fedora我认为这是qt5-qtwayland)。

以上是关于运行在Wayland的Qt应用程序的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm运行出现 Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run

Qt 使应用程序始终在 Weston/Wayland 平台上

Qt 使应用程序在 Weston/Wayland 平台上始终处于顶部

如何在我创建的 Qt Wayland 合成器中打开像 firefox 这样的 gui 应用程序

使用 Wayland 在 Linux 上获取 Capslock 状态

未检测到 wayland-egl 支持。禁用跨工具包兼容性