我的目标是使用包含增强库的Yocto SDK。 Boost提供的一些库只是标题,但是需要为我的目标体系结构编译许多其他库。 我对Yocto很新,所以我面临一些困难。 我在bblayers.conf中为我的web服务器定义一个新层并在local.conf中为apache和php附加包没有问题。 我很幸运,这些包已经包含在yocto krogoth中。
问题在于正常版本中不存在(或获取)的新数据包,因为它适用于boost库。 我在openembedded上找到了this资源,这解释了boost属于openembedded-core层,并将此配方添加到图层中:
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 \
"
我很不确定如何使用它。 我应该下载boost库并将其解压缩到某个目录中吗? 我应该保留tarball吗?
阅读一些文档,这个文件需要一些“文件”资源,所以在我的本地磁盘上找到了一些东西。 另外,我应该在哪里放置bb食谱?有默认文件夹吗? 从我读过的内容来看,这并不重要,但保持图层的层次,食谱配方等都是不错的做法。
然后我应该重建图像并最终执行: bitbake -c populate_sdk
你能帮助我吗?答案 0 :(得分:3)
yocto的默认meta
图层提供1.63
下的版本recipes-support
。只要bblayers.conf
中列出了这一层,你就可以在没有额外工作的情况下构建boost 1.63。
如果需要更新版本,您可以创建自己选择的boost-{version}.inc
并将SRC_URI
设置为所需的下载。虽然1.63
应该足以满足大多数用途。