专栏中心

EEPW首页 > 专栏 > 使用 YoctoProject集成Qt6

使用 YoctoProject集成Qt6

发布人:toradex 时间:2023-03-10 来源:工程师 发布文章

By Toradex胡珊逢

在嵌入式领域中 Qt 作为普遍选择的 UI 方案目前已经发布 Qt6 版本。本文将介绍如何为 Toradex 的计算机模块使用  Yocto Project Qt6 集成到镜像里。

 

首先根据这里的说明,准备好 Yocto Project 的编译环境。这里我们选择 Toradex 最新的 Linux BSP V6 为例,其基于 kirkstone 分支,这也是一个 LTS 版本。

 

进入 layers 目录,使用下面命令下载 Qt6.4.3 版本的 meta-qt6 文件。

-------------------------------

git clone -b 6.4.3 git://code.qt.io/yocto/meta-qt6.git

-------------------------------

 

 

meta-qt6/classes/ 目录下创建 populate_sdk_qt6.bbclass 文件。

-------------------------------

SUMMARY = "Meta package for building an installable Qt6 toolchain and SDK"

inherit populate_sdk populate_sdk_qt6_base

TOOLCHAIN_HOST_TASK:append = " nativesdk-packagegroup-qt6-toolchain-host"
TOOLCHAIN_TARGET_TASK:append = " packagegroup-qt6-modules"

FEATURE_PACKAGES_qtcreator-debug = "packagegroup-qt6-qtcreator-debug"

-------------------------------

 

 

meta-qt6/recipes-qt/packagegroups/ 目录下创建  packagegroup-qt6-qtcreator-debug.bb 文件。

-------------------------------

SUMMARY = "Remote debugging tools for QtCreator integration"
LICENSE = "MIT"

inherit packagegroup

# Override by distro if needed
VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon ?= "openssh-sshd"

RDEPENDS:${PN} = " \
    gdbserver \
    ${VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon} \
    openssh-sftp-server \
    qtdeclarative \
"

-------------------------------

 

meta-toradex-demos/recipes-images/images/ 目录下创建  packagegroup-tdx-qt6.bb 文件。

-------------------------------

SUMMARY = "Packagegroup which provides most QT6 libraries and a QT6 demo"

PACKAGE_ARCH = "${MACHINE_ARCH}"

inherit packagegroup

PROVIDES = "${PACKAGES}"
PACKAGES += " \
    ${PN}-fonts \
    ${PN}-libs \
"

RRECOMMENDS:${PN} = " \
    ${PN}-fonts \
    ${PN}-libs \
"

SUMMARY:${PN}-fonts = "Some fonts useful for QT5"
RRECOMMENDS:${PN}-fonts = " \
    ttf-dejavu-common \
    ttf-dejavu-sans \
    ttf-dejavu-sans-mono \
    ttf-dejavu-serif \
"

SUMMARY:${PN}-libs = "QT5 libraries"
RRECOMMENDS:${PN}-libs = " \
    qt3d \
    qtbase \
    qtcharts \
    qtcoap \
    qtconnectivity \
    qtdatavis3d \
    qtdeclarative \
    qtimageformats \
    qtlottie \
    qtmqtt \
    qtmultimedia \
    qtnetworkauth \
    qtopcua \
    qtquick3d \
    qtquicktimeline \
    qtremoteobjects \
    qtscxml \
    qtsensors \
    qtserialbus \
    qtserialport \
    qtsvg \
    qttools \
    qttranslations \
    qtvirtualkeyboard \
    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland', '', d)} \
    qtwebchannel \
    qtwebsockets \
"

-------------------------------

 

meta-toradex-demos/recipes-images/images/ 目录下创建  tdx-reference-multimedia-qt6-image.bb 文件。

-------------------------------

require tdx-reference-minimal-image.bb

SUMMARY = "Toradex Embedded Linux Reference Multimedia Image"
DESCRIPTION = "Image for BSP verification with QT and multimedia features"

inherit populate_sdk_qt6

#Prefix to the resulting deployable tarball name
export IMAGE_BASENAME = "Reference-Multimedia-Image"

IMAGE_FEATURES += " \
    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', \
       bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base', '', d), d)} \
"

IMAGE_INSTALL += " \
    packagegroup-tdx-cli \
    packagegroup-tdx-graphical \
    packagegroup-tdx-qt6 \
    packagegroup-fsl-isp \
    \
    bash \
    coreutils \
    less \
    makedevs \
    mime-support \
    net-tools \
    util-linux \
    v4l-utils \
    \
    gpicview \
    media-files \
"

-------------------------------

 

build/conf/bblayers.conf meta-qt6 添加进来,并移除原来的 meta-qt5

-------------------------------

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  ${TOPDIR}/../layers/meta-toradex-nxp \
  ${TOPDIR}/../layers/meta-freescale \
  ${TOPDIR}/../layers/meta-freescale-3rdparty \
  \
  ${TOPDIR}/../layers/meta-toradex-bsp-common \
  \
  ${TOPDIR}/../layers/meta-openembedded/meta-oe \
  ${TOPDIR}/../layers/meta-openembedded/meta-filesystems \
  ${TOPDIR}/../layers/meta-openembedded/meta-gnome \
  ${TOPDIR}/../layers/meta-openembedded/meta-xfce \
  ${TOPDIR}/../layers/meta-openembedded/meta-networking \
  ${TOPDIR}/../layers/meta-openembedded/meta-multimedia \
  ${TOPDIR}/../layers/meta-openembedded/meta-python \
  ${TOPDIR}/../layers/meta-freescale-distro \
  ${TOPDIR}/../layers/meta-toradex-demos \
  ${TOPDIR}/../layers/meta-qt5 \
  \
  \
  ${TOPDIR}/../layers/meta-toradex-distro \
  ${TOPDIR}/../layers/meta-yocto/meta-poky \
  ${TOPDIR}/../layers/openembedded-core/meta \
"
#${TOPDIR}/../layers/meta-qt5

-------------------------------

 

build/conf/local.conf 添加下面两个配比,移除 X11 directfb 相关配置。

-------------------------------

DISTRO_FEATURES:remove = " directfb x11"
IMAGE_INSTALL:remove = " gpicview"

-------------------------------

 

 

最后使用 bitbake 命令即可编译包含 Qt6 的镜像和 SDK


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: ARM Linux Qt6 NXP Toradex

相关推荐

ARM 展示小型低功耗上网本样品

视频 2009-03-16

ARM开发详解

边缘 AI 加速的 Arm Cortex‑M0+ MCU 如何为电子产品注入更强智能

ARM嵌入式系统开发:软件设计与优化

Arm财报过山车:营收创纪录,股价跌7%

汽车暖通空调(HVAC)控制参考设计

Arm遭遇监管危机:FTC针对其技术授权启动反垄断调查

2026-05-18

arm学习资料

资源下载 2007-12-03

ARM嵌入式软件编程经验谈

最新ARM技术和嵌入式技术发展动态 中

视频 2009-10-22

WinCE+ARM开发及关键技术 上

视频 2009-10-22

Arm宣布推出Performix,为开发者带来 AI 时代必备的可扩展性能

面向ARM系统集成的FPGA片上系统解决方案

Arm CEO:AI智能体将推动CPU核心数升至 512

网络与存储 2026-05-11

最新ARM技术和嵌入式技术发展动态 下

视频 2009-10-22

ARM Axion 处理器加持谷歌第八代 TPU,云端全面转向智能体 AI 架构

ARM嵌入式系统开发

WinCE+ARM开发及关键技术 下

视频 2009-10-22

走进智能工厂 为何智能诊断是持续运行的关键

​Arm 宣布推出 Performix,为开发者带来 AI 时代必备的可扩展性能

2026-05-07
更多 培训课堂
更多 焦点
更多 视频

技术专区