2016-06-13 20 views
0

Ich benutze Yocto-Buildsystem, um ein Bild für Raspberry Pi, die Qt5 enthält, zu erstellen, aber ich habe Probleme mit der Konfiguration von Qtbase richtig.
Aufgrund dieser Probleme, wenn ich Qt App laufen bekomme ich einen Fehler:Meta-Qt-YoCto Layer-Änderung Standard-QT-Plattform (QT_QPA_PLATFORM)

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) 

Auf der anderen Seite, wenn ich wie so meine app starten:

myApp -platform eglfs 

es richtig funktioniert. Das selbe, wenn ich die Umgebungsvariable QT_QPA_PLATFORM=eglfs setze - es funktioniert.

Wie kann ich meine Standardplattform auf eglfs und nicht auf xcb einstellen?

Ich habe versucht, es wie unten zu setzen (in meinem 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" 

Leider hat es nicht helfen, und meine Anwendung zeigt noch diesen Fehler, wenn ich ausdrücklich nicht festgelegt keine Plattform.

Antwort

1

alles, was Sie tun müssen, ist:

in /etc/profile, fügen

export QT_QPA_PLATFORM=eglfs so, dass jedes Mal, wenn Sie in der Maschine angemeldet, wird es tut es automatisch für Sie.

Oder wenn Sie nicht wissen, was Ihre Grafik-Backends ist. Folgendes ist das entsprechende

Backend: FB; XWayland; X11

GRAFIKEN: eglfs; wayland-egl; xcb

export QT_QPA_PLATFORM=${GRAPHICS}

+0

Ich habe bereits festgestellt, dass es ändern kann sein, indem '-qPa eglfs'' configure' Skript qtbase, aber danken Sie- dies ist auch hilfreich (vor allem für andere Plattformen zu testen) – lewiatan