我正在使用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"
不幸的是它没有帮助,如果我没有明确设置平台,我的应用程序仍会显示此错误。
答案 0 :(得分:1)
你所要做的就是:
<{1>}中的,添加
/etc/profile
这样每次登录机器时,它都会自动为您完成。
或者如果你不知道你的图形后端是什么。以下是相应的
后端:FB; XWayland; X11
图形:eglfs;韦兰东瀛; XCB
export QT_QPA_PLATFORM=eglfs