使用Yocto Project配置Qt5和Qt5 SDK

配置Qt5 SDK

在Yocto里面配置Qt5 SDK(交叉编译工具链)的大致步骤如下:

  1. 下载meta-qt5并添加到 bblayers.conf.
  2. 在local.conf里面添加DISTRO_FEATURES_append = " opengl wayland "
  3. 在your-custom-image.bb里面添加inherit populate_sdk_qt5
  4. 为了解决后续使用SDK遇到的一个错误“…/sysroots/x86_64-phytecsdk-linux/usr/bin/qmlcachegen: not found”,需要创建nativesdk-packagegroup-qt5-toolchain-host.bbappend,然后在该文件添加:RDEPENDS_${PN} += "nativesdk-qtdeclarative-tools"
  5. 使用如下命令生成交叉编译工具链:bitbake your-custom-image -c populate_sdk

在rootfs里面配置Qt5

完成“配置Qt5 SDK”的前面两个步骤以后,只需要在your-custom-image.bb里面添加如下代码就可以基本完成rootfs里面Qt5的配置:

IMAGE_INSTALL_append = " \
    qtbase \
    qtbase-plugins \
    qtbase-tools  \
"

不过编译出来的qtbase基础功能和库可能并不符合我们的需求,参考qtbase食谱说明里面提到的“Dependencies”和“PACKAGECONFIG options”列表,我们可以在local.conf里面添加qtbase里面的一些可选功能来符合我们的特定需求,比如我遇到的一个项目需要添加如下配置选项:

PACKAGECONFIG_append_pn-qtbase =  " linuxfb sql-sqlite gif ico fontconfig tslib widgets release qtquickcompiler"

考虑到目标板可能需要“qtquickcompiler”相应的完整功能包,需要在your-custom-image.bb里面添加:

IMAGE_INSTALL_append = " \
	qtdeclarative \
"

如果Qt应用程序里面使用到了Qt Quick Controls,Qt Quick Controls 2以及Qt Graphical Effects等功能,类似于如下qml配置:

Source/qml/LoadingScreen.qml:2:import QtQuick.Controls 2.1
Source/qml/WindowManager.qml:3:import QtQuick.Controls 1.4

所有我们还需要在your-custom-image.bb里面添加程序包:

IMAGE_INSTALL_append = " \
    qtquickcontrols-qmlplugins \
	qtgraphicaleffects-qmlplugins \
    qtquickcontrols2 \
"

不要忘了在your-custom-image.bb里面添加应用程序所需的字体支持:

IMAGE_INSTALL_append = "ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-sans-condensed \
						ttf-dejavu-serif ttf-dejavu-serif-condensed ttf-dejavu-common"

最后使用 bitbake your-custom-image 命令来生成相应的镜像包即可。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值