【问题标题】:meta-qt- yocto layer- change default qt platform (QT_QPA_PLATFORM)meta-qt- yocto layer- 改变默认qt平台(QT_QPA_PLATFORM)
【发布时间】:2016-10-13 18:36:14
【问题描述】:

我正在使用 Yocto 构建系统为包含 Qt5 的树莓派创建一个映像,但我在正确配置 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"

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

【问题讨论】:

    标签: qt qt5 yocto bitbake


    【解决方案1】:

    你所要做的就是:

    /etc/profile,添加

    export QT_QPA_PLATFORM=eglfs 这样每次你登录机器时,它都会自动为你做。

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

    后台:FB; XWayland; X11

    图形:eglfs;韦兰-egl; xcb

    export QT_QPA_PLATFORM=${GRAPHICS}

    【讨论】:

    • 我已经发现可以通过将-qpa eglfs 传递给qtbase configure 脚本来改变它,但是谢谢-这也很有帮助(特别是对于测试其他平台)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 2016-03-22
    • 2018-06-06
    • 1970-01-01
    • 2018-09-14
    • 2014-01-04
    相关资源
    最近更新 更多