meta-qt- yocto layer- 更改默认 qt 平台 (QT_QPA_PLATFORM)
meta-qt- yocto layer- change default qt platform (QT_QPA_PLATFORM)
我正在使用 Yocto 构建系统为 raspberry pi 创建包含 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"
不幸的是,它没有帮助,如果我没有明确设置平台,我的应用程序仍然会显示此错误。
您只需:
在/etc/profile
中添加
export QT_QPA_PLATFORM=eglfs
这样你每次登录机器,它都会自动为你做。
或者如果您不知道图形后端是什么。下面是对应的
后端:FB; X韦兰; X11
图形:eglfs;韦兰-egl; xcb
export QT_QPA_PLATFORM=${GRAPHICS}
我正在使用 Yocto 构建系统为 raspberry pi 创建包含 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"
不幸的是,它没有帮助,如果我没有明确设置平台,我的应用程序仍然会显示此错误。
您只需:
在/etc/profile
中添加
export QT_QPA_PLATFORM=eglfs
这样你每次登录机器,它都会自动为你做。
或者如果您不知道图形后端是什么。下面是对应的
后端:FB; X韦兰; X11
图形:eglfs;韦兰-egl; xcb
export QT_QPA_PLATFORM=${GRAPHICS}