相关文章推荐
面冷心慈的松球  ·  java ...·  3 月前    · 
威武的帽子  ·  SQL ...·  5 月前    · 

配置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 命令来生成相应的镜像包即可。

配置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-qt5Yocto 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配置Qt5Qt5 SDK具有很大的价值。 第一步是在Yocto Project中安装所需软件,包括QT5 core,QT5 Script,QT5 Tools和QT5 WebKit。此外,还需要安装Yocto Project中自带的Cross-SDK。 第二步是创建一个新镜像或在现有的镜像上实现Qt5。 第三步是将Qt5 SDK添加到Yocto项目中。可以通过执行添加命令来添加Qt5 SDK。 将所有必要的包添加到构建中,并运行构建命令,等待编译和构建过程结束,以创建新的嵌入式系统图像。在构建过程中,确保选择Qt5以在构建中包含它。 完成所有这些之后,我们等待构建结束,并将镜像刷入目标系统。我们可以在目标系统上运行我们的程序了。使用Yocto Project配置Qt5Qt5 SDK,可以使我们更容易地开发GUI应用程序,并在嵌入式设备上运行。