Qml 组件未在 xcb 平台上正确加载

Qml components not loaded properly on xcb platform

我正在尝试 运行 在 iMx6 (qt 5.12.8) 上的 xcb 平台上的应用程序,不幸的是,某些 qml 对象无法正确呈现,例如需要 qtgraphicaleffects 的组件。我怀疑这种奇怪行为的原因是 qt 库的错误交叉编译,事实上,无论我更改配置参数,我都无法在 X11 上启用 EGL,这应该可以解决我的问题。 如果我启用 qt libs verbose configure 我读到:

egl-x11.cpp:49:9:错误:从‘EGLNativeDisplayType {aka void*}’到‘Display* {aka _XDisplay*}’的无效转换[-fpermissive] dpy = egldpy;

QPA backends:
  DirectFB ............................... no
  EGLFS .................................. yes
  EGLFS details:
    EGLFS OpenWFD ........................ no
    EGLFS i.Mx6 .......................... no
    EGLFS i.Mx6 Wayland .................. no
    EGLFS RCAR ........................... no
    EGLFS EGLDevice ...................... yes
    EGLFS GBM ............................ yes
    EGLFS Mali ........................... no
    EGLFS Raspberry Pi ................... no
    EGL on X11 ........................... no
    LinuxFB ................................ no
    VNC .................................... yes
    Mir client ............................. no

有人遇到同样的问题吗?怎么可能解决?任何帮助将不胜感激。

我正在回答我自己的问题,谁可能面临同样的问题。我正在使用配置为 运行 的 sysroot 和用于视频加速的 Vivante 插件编译 qt。这与 x11 上的 eglfs 不兼容。如果没有 egl ,qt 库将无法正确呈现问题中提到的复杂对象。使用正确的依赖项和 运行 eglfs 进行编译解决了这个问题。