在Yocto里面配置Qt5 SDK(交叉编译工具链)的大致步骤如下:
-
下载meta-qt5并添加到 bblayers.conf.
-
在local.conf里面添加
DISTRO_FEATURES_append = " opengl wayland "
-
在your-custom-image.bb里面添加
inherit populate_sdk_qt5
-
为了解决后续使用SDK遇到的一个错误“…/sysroots/x86_64-phytecsdk-linux/usr/bin/qmlcachegen: not found”,需要创建nativesdk-packagegroup-qt5-toolchain-host.bbappend,然后在该文件添加:
RDEPENDS_${PN} += "nativesdk-qtdeclarative-tools"
-
使用如下命令生成交叉编译工具链:
bitbake your-custom-image -c populate_sdk
完成“配置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
命令来生成相应的镜像包即可。
配置Qt5 SDK在Yocto里面配置Qt5 SDK(交叉编译工具链)的大致步骤如下:下载meta-qt5并添加到 bblayers.conf.在local.conf里面添加DISTRO_FEATURES_append = " opengl wayland "在your-custom-image.bb里面添加inherit populate_sdk_qt5为了解决后续使用SDK遇到的一个错误“…/sysroots/x86_64-phytecsdk-linux/usr/bin/qmlcachege
➢What is an embedded system
➢Differences between a normal distro and embedded
➢How to use Qt on embedded systems
➢How to use Yocto Project
➢Layer meta-qt5
➢Yocto customization for Qt5
➢Adding a custom layer to customize Qt5
➢Deploy and debug on embedded system
➢Demo on real hardware
Yocto自定义SDK(二)1.5更改默认的SDK安装目录1.6提供其他可安装的可扩展SDK内容1.7最小化可扩展SDK安装程序的下载2 Customizing the Standard SDK2.1将单个软件包添加到标准SDK2.2将API文档添加到标准SDK
1.5更改默认的SDK安装目录
在为Extensible SDK构建安装程序时,SDK的默认安装目录基于populate_sdk_base类中的DISTRO和SDKEXTPATH变量,如下所示:
SDKEXTPATH ??= "~/${@d.get
在source/meta-img/conf/machine/loongson2k1000.conf文件下修改:
IMAGE_FSTYPES+=" cpio.gz cpio tar.gz cpio.gz cpio tar.gz jffs2 ext2 ext3 ext4 ubifs"
#BB_NO_NETWORK = "1"
UBI_VOLNAME = "rootfs"
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 784"
#UBINIZE_ARGS = "-m 2048
该层取决于:
URI: : (分支:主)
在构建诸如qtdeclarative , qtquick , qtwebkit ,请确保已在qtbase构建中启用了必需的PACKAGECONFIG选项,有关详细信息,请参见qtbase配方。
诸如qtwebengine之类的某些配方在构建主机上需要32bit multilib编译器,尤其是当要构建的目标是32bit时,例如arm,因为它构建了需要$CC -m32才能工作的v8引擎,因此请确保archlinux上的主机编译器可以生成32bit代码分布将是
pacman -S lib32-gcc-libs lib32-glibc
请使用GitHub pull-request功能针对meta-qt5层提交任何补丁。 分叉仓库,创建一个分支,执行工作,从上游恢复基础,创建请求请求,y
在Wandboard上
使用yocto构建
Qt5
假设你已经开始
使用Yocto和Wandboard(如果没有,请参阅Getting_started_with_
Yocto_on_Wandboard)…
这些指示在哪里测试与
Yocto Dizzy
•1克隆meta-
qt5
•2编辑
yocto配置文件
•3 Bitbake !
•4测试你的映像
•5 交叉编译QtCreator的
Qt5
5.1 bitbake a meta-toolchain-
qt5
5.2安装新的工具链
5.3
配置Qt creator
Yocto Project是一个开源的编译工具,它可以使得开发人员方便地创建基于嵌入式Linux系统的自定义发行版。Qt是一种跨平台的GUI(图形用户界面)框架,可以使用C++语言进行开发。在嵌入式Linux系统中,使用Yocto Project来配置Qt5和Qt5 SDK具有很大的价值。
第一步是在Yocto Project中安装所需软件,包括QT5 core,QT5 Script,QT5 Tools和QT5 WebKit。此外,还需要安装Yocto Project中自带的Cross-SDK。
第二步是创建一个新镜像或在现有的镜像上实现Qt5。
第三步是将Qt5 SDK添加到Yocto项目中。可以通过执行添加命令来添加Qt5 SDK。
将所有必要的包添加到构建中,并运行构建命令,等待编译和构建过程结束,以创建新的嵌入式系统图像。在构建过程中,确保选择Qt5以在构建中包含它。
完成所有这些之后,我们等待构建结束,并将镜像刷入目标系统。我们可以在目标系统上运行我们的程序了。使用Yocto Project配置Qt5和Qt5 SDK,可以使我们更容易地开发GUI应用程序,并在嵌入式设备上运行。