2

我有一个分层的 cmake 项目,其中包含库和应用程序的层次结构。这些库和应用程序中的每一个都有一个 CMakeLists.txt 和一个包含子 cmake 文件的顶级 CMakeLists.txt。

现在我们完全在 x86 Linux 平台上进行开发和测试,但在某些时候我们会想要开始将代码拉入 Yocto 构建和目标 arm。我们希望保持能够为 x86 和 arm 构建。

我看过一些关于为 x86 构建的 Yocto 指南,但这些似乎构建了整个世界(工具链、Linux 内核、所有库等)并通过 qemu 运行图像。对于我们的桌面使用,当我们的机器有编译器并且我们可以直接运行应用程序时,这有点矫枉过正,但是让 bitbake 构建一些我们依赖并且需要安装到'虚拟根'。

我如何将 use bitbake 用于本机 x86 项目(代替或补充 cmake),并且以后能够利用 Yocto 的配方文件?

4

1 回答 1

1

我对 Yocto 没有太多经验,但我正在使用另一个具有类似概念的嵌入式 Linux 发行版:Buildroot。Buildroot 为当前选择的工具链创建工具链文件 (output/host/usr/share/buildroot/toolchainfile.cmake)。

您为项目创建两个输出文件夹:

build-x86
build-arm

我刚刚执行的第一个文件夹:

cmake ../path-to-your-source

在第二个中:

cmake ../path-to-your-source -DCMAKE_TOOLCHAIN_FILE=../path-to-buildroot/output/host/usr/share/buildroot/toolchainfile.cmake

如果 Yocto 提供了 toolchainfile,可以直接使用。如果没有,您可以自己创建它。请参阅此维基

更新:

说明如何将软件添加到 Buildroot(包)。这里描述了源文件夹覆盖机制

于 2013-10-11T05:56:52.053 回答