【发布时间】:2017-03-08 13:50:29
【问题描述】:
我是 Yocto 项目的新手。最初的想法是基于core-image-full-cmdline(没有窗口系统)和generate针对该图像创建一个Qt5 SDK的自定义图像。
所以我的目标是能够运行 Qt 应用程序需要有一些 已安装标头和库,不是吗?我必须在我的图像配方上指定什么?- 执行
$ bitbake my_image -c populate_sdk将生成my_image并支持Qt5 + SDK 安装程序?
据我了解,要获得 Qt SDK,步骤如下:
下载
meta-qt5并将其添加到bblayers.conf。添加到要构建 SDK 的镜像配方:
inherit populate_sdk_qt5- 配置 SDK 构建(添加/删除功能)。 EGLFS 支持,没有 X11/Wayland 和 Qtwebkit(还有 idk,也许还有一些我还不知道的其他功能)。
bitbake my_image -c populate_sdk
我的构建在编译 Wayland 时出错,尽管我有这个:
DISTRO_FEATURES_remove = "x11 wayland"
【问题讨论】:
-
populate-sdk 将生成一个脚本,为您的目标架构安装所有部件、Qmake、Qt 库和头文件。
-
@LPs 所以除了将 meta-qt5 添加到 bblaers.conf 之外,我不需要做任何其他事情?
-
添加到 bblayers.conf 使
Bitbake能够看到所有配方到Qt5层。您必须在您的配方或 local.conf 中添加所需的数据包,例如:qtbase、qt3d、qtserial等...然后将inherit populate_sdk_qt5添加到您的配方中以使Yocto能够安装所有Qt5 的组件到 SDK 中。 -
@LPs 你介意进一步解释或指出一些解释它的文档吗?我的意思是我想了解
populate_sdk_qt5的作用,并且我希望能够配置该过程。我的构建失败了。我需要禁用一些功能,因为我不需要 X11/Wayland 也不需要 qtwebkit。顺便说一句,关于我的第一点,我发现 Qt 应用程序可以部署在没有安装 Qt 库的目标上,但我可以捆绑它们,所以现在我不会安装 qt 包。我只需要获取 SDK。 -
如果您的配方有效(Bitbake 可以播放完整配方)从“已编译”配方中填充 SDK 提取 SDK 所需的所有文件:交叉编译器、交叉链接器、库、接口 (.h)等等。因此,如果您想要一个适用于您的目标架构的 SDK,使用 Yocto,您必须有一个有效的秘诀。