2016-06-13 49 views
0

私はYocto buildsystemを使用してQt5を含むラズベリーpiの画像を作成していますが、Qtbaseの設定に問題があります。私はそうのように私のアプリを起動した場合一方meta-qt-yocto layer-デフォルトの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; wayland-egl; XCB

export QT_QPA_PLATFORM=${GRAPHICS}

+0

私はすでにそれが 'configure'スクリプトをqtbaseするために' -qPa eglfs'を渡すことで変更することができることを見出したが、(特に他のプラットフォームをテストするため)これも便利ですyou-が感謝しています – lewiatan

関連する問題