0

我在这里看到一个线程讨论如何在 yocto 中编译源代码。我使用它的第一种方法如下:

yocto-layer create Mylayer

我创建了 helloworld 示例。源文件 helloworld.c 的位置位于 .bb 文件位置的子文件夹中。我正在使用makefile。

我的目标是在 helloworld.c 所在的位置添加 3 个文件夹(1. build、2. Include 和 3. source)。构建目录将包含 make 文件,源目录包含所有 .c/.cpp 文件,并且包含文件夹包含包含文件。

当我在 helloworld.c 的位置添加所有内容时,它会成功编译,但是当我按照上面提到的那样安排源代码时,它不会编译。

如何在 yocto 中排列这些目录?.bb 或 .bbalyer 文件会有变化吗?

4

2 回答 2

1

在您的食谱中添加以下行

FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI += "file://hello/* "

还创建一个directory hellowhere the .bbpresent thenafter 将所有数据复制到此hello directory。现在您的 hello 目录应该如下所示
hello
|_build
|_include
|_source

于 2018-02-20T06:25:05.820 回答
1

在我看来,将源代码存储在食谱旁边并不是一个好主意——除非它是某种用于学习目的的示例。

请参阅元/层的食谱 - 这也是基于该主层的食谱的好方法。您将找不到与配方一起提交的源代码,并且在我看来,当您开始了解 Yocto/Bitbake 时,我建议您将源代码存储在专用存储库中,并且您的配方应使用 fetcher 库 - SRC_URI指向此存储库。

于 2018-02-20T07:25:36.903 回答