我是 Yocto 项目的新手。最初的想法是基于core-image-full-cmdline(这是没有窗口系统的)创建一个自定义图像,并针对该图像生成一个 Qt5 SDK。
$ bitbake my_image -c populate_sdk会产生my_image与QT5支持+ SDK安装?据我了解,要获得 Qt SDK,步骤是:
下载并添加meta-qt5到 bblayers.conf。
添加到要构建 SDK 的图像配方中:
inherit populate_sdk_qt5
EGLFS支持,没有 X11/Wayland 和 Qtwebkit(还有 idk,也许还有一些我还不知道的其他功能)。bitbake my_image -c populate_sdk虽然我有这个,但我的构建在编译 wayland 时出错:
DISTRO_FEATURES_remove = "x11 wayland"
我犯了一些错误。所以这些是步骤:
下载并添加meta-qt5到 bblayers.conf。
添加到要构建 SDK 所依据的图像配方:inherit populate_sdk_qt5。现在 do_populate_sdk 任务知道目标,并将在相应的 sysroot 上安装所需的头文件和库(稍后将需要能够按示例配置 QtCreator)
2.1 当我们要生成一个 SDK 时,需要开发包。将此添加到图像配方中:IMAGE_FEATURES += "dev-pkgs"
2.2如果我们的发行没有任何窗口管理器:DISTRO_FEATURES_remove = "x11 wayland"。我的错误是把它放在我的图像食谱上,但必须设置它local.conf以便所有食谱都知道这一点。有关 Qt 后端的更多信息
2.3我不知道这个,但我想删除QtWebKit的,和我说(上的local.conf) PACKAGECONFIG_remove_pn-qttools = "qtwebkit"
PACKAGECONFIG_remove_pn-qtquick1 = "qtwebkit"。仍然构建了 qtwebkit 模块。我需要对此进行更多调查。
构建图像 $ bitbake my_image
$ bitbake my_image -c populate_sdk现在我们得到了交叉编译所需的工具链。