我正在研究Yocto(头晕),我正在尝试为基于飞思卡尔i.MX6的系统准备图像。我从FSL社区BSP开始,然后我包含了meta-qt5层。
然后,我通过local.conf
文件进行了一些自定义,以便构建Qt并从编译中排除X11和Wayland(因为我想通过EGLFS平台使用Qt5):
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh"
IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev
autoconf automake ccache chkconfig glib-networking glibmm
packagegroup-core-buildessential pkgconfig
boost cmake zlib glib-2.0 packagegroup-fsl-tools-testapps git glive
ruby
cpufrequtils
nano
gdb
gstreamer
gst-meta-video
gst-fsl-plugin
gst-plugins-base-app
gst-plugins-base
gst-plugins-good
gst-plugins-good-rtsp
gst-plugins-good-udp
gst-plugins-good-rtpmanager
gst-plugins-good-rtp
gst-plugins-good-video4linux2
openssh-sftp-server
packagegroup-fsl-gstreamer
packagegroup-fsl-tools-testapps
packagegroup-fsl-tools-benchmark
imx-vpu
imx-test
qtbase-fonts
qtbase-plugins
qtbase-tools
qtbase-examples
qtdeclarative
qtdeclarative-plugins
qtdeclarative-tools
qtdeclarative-examples
qtdeclarative-qmlplugins
qtmultimedia
qtmultimedia-plugins
qtmultimedia-examples
qtmultimedia-qmlplugins
qtsvg
qtsvg-plugins
qtsensors
qtimageformats-plugins
qtsystems
qtsystems-tools
qtsystems-examples
qtsystems-qmlplugins
qtscript
qt3d
qt3d-examples
qt3d-qmlplugins
qt3d-tools
qtwebkit
qtwebkit-examples-examples
qtwebkit-qmlplugins
qtgraphicaleffects-qmlplugins
qtconnectivity-qmlplugins
qtlocation-plugins
qtlocation-qmlplugins
cinematicexperience
cairo pango fontconfig freetype pulseaudio dbus
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf fsl-alsa-plugins
i2c-tools
strace
"
PACKAGECONFIG_remove = " x11 wayland"
DISTRO_FEATURES_remove = " x11 wayland"
一切都很好(发布bitbake fsl-image-multimedia-full
):映像已构建,我能够在EGLFS平台上编译和运行使用Qt的最小应用程序。
当我想使用 QML 网络视图时,问题就来了...如果我尝试在运行时执行此操作,Qt应用程序将退出并显示以下消息:
root@imx6qsabresd:~#/run/media/sda1/MyTestApp -platform eglfs This 应用程序无法启动,因为它找不到或加载 Qt 平台插件"XCB"。
可用的平台插件有:eglfs,minimal,minimalegl,offscreen。
重新安装应用程序可能会解决此问题。警告:网络 进程在"上遇到崩溃。
所以似乎qtdeclarative
的webkit相关部分仍然对xcb
有一些依赖,那就是x11
......为什么?我做错了什么吗?
好的,找到了一个解决方案:我只是在Yocto的Qt配置中添加了-qpa eglfs
。它似乎有效。