toradex的个人空间 https://blog.eetop.cn/1539194 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

使用 YoctoProject集成Qt6

已有 525 次阅读| 2023-3-10 11:32 |系统分类:嵌入式| ARM, Linux, Qt6, NXP, Toradex

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



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 0

    好友
  • 1

    获赞
  • 2

    评论
  • 13923

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 13:39 , Processed in 0.014647 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部