meta-qt-yocto layer-change default qt platform(QT_QPA_PLATFORM)

时间:2016-06-13 11:03:32

标签: qt qt5 yocto bitbake

我正在使用Yocto构建系统为包含Qt5的raspberry 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

我试过设置它如下(在我的distro.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"

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

1 个答案:

答案 0 :(得分:1)

你所要做的就是:

<{1>}中的

,添加

/etc/profile这样每次登录机器时,它都会自动为您完成。

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

后端:FB; XWayland; X11

图形:eglfs;韦兰东瀛; XCB

export QT_QPA_PLATFORM=eglfs