meta qt-yocto层-更改默认qt平台(qt_QPA_platform)



我正在使用Yocto构建系统为包含Qt5的树莓pi创建一个映像,但我在正确配置qtbase时遇到了问题
由于这些问题,当我运行Qt应用程序时,我得到了一个错误:

This application failed to start because it could not find or load the Qt platform plugin "xcb" in "".
Available platform plugins are: eglfs, minimal, minimalegl, offscreen.
Reinstalling the application may fix this problem.
Aborted (core dumped)

另一方面,如果我这样启动我的应用程序:

myApp -platform eglfs

它工作正常。如果我设置环境变量QT_QPA_PLATFORM=eglfs也是一样的——它可以工作。

如何将我的默认平台设置为eglfs而不是xcb

我试着设置如下(在我的发行版conf中):

DISTRO_FEATURES_remove = "x11"
DISTRO_FEATURES_append = " gles2"
PACKAGECONFIG_GL_pn-qtbase = "gles2"
PACKAGECONFIG_X11_pn-qtbase = ""
PACKAGECONFIG_pn-qtbase += "gles2"
PACKAGECONFIG_pn-qtbase += "dbus udev evdev widgets tools libs"

不幸的是,这并没有帮助,如果我没有明确设置平台,我的应用程序仍然会显示这个错误。

您所要做的就是:

/etc/profile中,添加

export QT_QPA_PLATFORM=eglfs,以便您每次登录机器时,它都会自动为您执行此操作。

或者,如果你不知道你的图形后端是什么。以下是相应的

后端:FB;XWayland;X11

图形:eglfs;韦兰egl;xcb

export QT_QPA_PLATFORM=${GRAPHICS}

相关内容

  • 没有找到相关文章

最新更新