2017-03-07 108 views
0

我正在使用Yocto 2.1上運行的Nitrogen6x板,並支持Qt 5.6.2。我可以在Qt Creator的示例部分中構建一個樣本qt應用程序Qt Quick Examples - Shader Effects。在我的氮氣板上覆制可執行文件。已設置的終端所要求的QT的環境變量,其中我公司推出的樣品Qt應用程序,我注意到這個錯誤:Yocto/Qt5.6:QXcbIntegration:無法創建平臺OpenGL上下文

./shadereffects

QXcbIntegration: cannot create platform OpenGL context, neither GLX nor EGL are enabled.

Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile 0)

Aborted.

我試圖從Qt Creator的例子區間行駛的一個示例應用程序Analog Clock Example,這個程序只使用Qt控件並能夠成功在Nitrogen6x板上運行應用程序。

在我的packagegroup-qt5-toolchain-target.bb文件中,我刪除了下面幾行(由於某些與GIT拉相關的錯誤)。

${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${USE_WAYLAND}', '', d)} \ 
${USE_RUBY} \ 

這個改變是否與OpenGL面臨的問題有任何相似之處。如果我嘗試在Yocto Terminal上執行sudo apt-get install libgl1-mesa-dev或同等操作,它將顯示apt-get: command not found。我該如何解決這個與OpenGL相關的錯誤。任何對此的幫助深表謝意。提前致謝。

回答

0

我假設你的圖片是x11並且已經取消了Wayland。

/conf/local.conf,嘗試添加

DISTRO_FEATURES_append = " opengl "

這將增加的OpenGL到分佈;請參閱Qt Recipe中的第41行

+0

我將需要只支持'eglfs'插件。當我使用'-platform eflgs'運行我的應用程序時,我看到這個錯誤'可用平臺插件是:最小化,離屏,xcb'。我正在閱讀一些其他[後](http://stackoverflow.com/questions/36760009/how-to-enable-eglfs-plugin-in-yocto-setup-using-yoctometa-qt5-for-riotboard)你回答。我打算在那裏嘗試一下你的建議,看看我能否成功安裝EGLFS插件。 – user12345