将 Boost recipe 添加到 Yocto SDK



我的目标是拥有一个包含提升库的Yocto SDK。 Boost 提供的一些库只是标头,但许多其他库需要针对我的目标架构进行编译。 我对Yocto很陌生,所以我面临着一些困难。 我在bblayers.conf中为我的Web服务器定义一个新层,并在local.conf中为apache和php附加包,没有问题。 我很幸运,这些包裹已经包含在yocto krogoth中。

安装普通版本中不存在(或获取)的新数据包时会出现问题,就像用于 boost 库一样。 我在 openembedded 上找到了这个资源,它解释了 boost 属于开放嵌入式核心层,并给出了这个配方来添加到该层:

require boost-${PV}.inc
require boost.inc
SRC_URI += "
file://arm-intrinsics.patch 
file://boost-CVE-2012-2677.patch 
file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch 
file://boost-math-disable-pch-for-gcc.patch 
file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch 
file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch 
file://0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch 
file://0001-correct-error-which-appeared-when-compiling-non-c-co.patch 
"

我不确定如何使用它。 我应该下载提升库并将其解压缩到某个目录中吗? 我应该保留压缩包吗?

阅读一些文档,这个文件需要一些"文件"资源,所以在我的本地磁盘上找到了一些东西。 另外,我应该把BB食谱放在哪里?有默认文件夹吗? 从我所读到的内容来看,这并不重要,但保持层层叠叠、食谱与食谱等是一个很好的做法。

然后我可能应该重建映像并最终执行: 比特巴克 -C populate_sdk

你能帮我吗?

yocto 的默认meta层在recipes-support下提供 boost 的版本1.63。只要此层列在bblayers.conf中,您应该能够在不进行额外工作的情况下构建 boost 1.63。

如果需要更新的版本,您可以创建您选择的boost-{version}.inc,并将SRC_URI设置为所需的下载。尽管1.63应该足以满足大多数用途。

最新更新