2016-06-13 65 views
0

我使用Yocto buildsystem爲包含Qt5的樹莓派創建圖像,但我在正確配置qtbase時遇到問題。如果我開始我的應用程序,像這樣meta-qt-yocto層 - 更改默認qt平臺(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) 

在另一方面:

myApp -platform eglfs 

它工作正常
由於這些,當我運行的Qt應用程序問題,我得到一個錯誤。如果我設置環境變量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

所有你需要做的是:在

/etc/profile

,加

export QT_QPA_PLATFORM=eglfs讓每一個你在本機登錄,它會定時自動爲您完成。

或者如果你不知道你的圖形後端是什麼。以下是對應的

後端:FB; XWayland; X11

圖形:eglfs;韋蘭東瀛; XCB

export QT_QPA_PLATFORM=${GRAPHICS}

+0

我已經發現,它可以通過傳遞'-qPa eglfs'到qtbase'configure'腳本的變化,但還是謝謝你 - 這也是有幫助的(特別是用於測試其他平臺) – lewiatan