首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt应用程序试图加载平台插件"xcb“而不是"eglfs”

Qt应用程序试图加载平台插件"xcb“而不是"eglfs”
EN

Stack Overflow用户
提问于 2015-06-13 23:19:10
回答 2查看 5.3K关注 0票数 4

使用Yocto开发了Raspberry Pi 2 linux发行版,包括Qt5.4 + QtWebKit + QML插件

使用以下QML脚本进行测试

代码语言:javascript
复制
root@raspberrypi2:~# more webkit3.qml 
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtWebKit 3.0

ScrollView {
    width: 640
    height: 480
    WebView {
        id: webview
        url: "http://qt-project.org"
        anchors.fill: parent
        onNavigationRequested: {
            // detect URL scheme prefix, most likely an external link
            var schemaRE = /^\w+:/;
            if (schemaRE.test(request.url)) {
                request.action = WebView.AcceptRequest;
            } else {
                request.action = WebView.IgnoreRequest;
                // delegate request.url here
            }
        }
    }
}

错误信息

此应用程序无法启动,因为它无法找到或加载Qt平台插件xcb。

看起来它仍然试图从XCB插件开始,这与X11有关,而我指定了EGLFS (??)

代码语言:javascript
复制
root@raspberrypi2:~# /usr/bin/qt5/qmlscene  webkit3.qml -platform eglfs
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen.

Reinstalling the application may fix this problem.

知道我为什么会有这个问题吗?

安装QT5插件平台

代码语言:javascript
复制
root@raspberrypi2:/usr/lib/qt5/plugins/platforms# ls -al
drwxr-xr-x    2 root     root          4096 Jun 12 12:59 .
drwxr-xr-x   18 root     root          4096 Jun 12 13:03 ..
-rwxr-xr-x    1 root     root        601864 Jun 11 15:19 libqeglfs.so
-rwxr-xr-x    1 root     root        499564 Jun 11 15:19 libqlinuxfb.so
-rwxr-xr-x    1 root     root         20576 Jun 11 15:19 libqminimal.so
-rwxr-xr-x    1 root     root        478500 Jun 11 15:19 libqminimalegl.so
-rwxr-xr-x    1 root     root        465740 Jun 11 15:19 libqoffscreen.so

请不要向我推荐问题。信息是一样的,但不是,我不认为这是同样的原因。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-16 06:30:37

也许qmlscene正在使用参数--在qml文件名之前传递-platform选项,或者将QT_QPA_PLATFORM环境变量设置为eglfs,而不是命令行参数。

对于未来,您可能希望通过使用eglfs配置Qt来使-qpa eglfs成为默认的选择。

票数 4
EN

Stack Overflow用户

发布于 2021-07-29 12:39:58

对我来说,我不得不打电话

代码语言:javascript
复制
export QT_QPA_PLATFORM="xxxxx"

在建造和运行之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30824501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档