Chr*_*ris 5 boost alsa bitbake yocto
我试图在开发包中找到的 yocto 构建中包含特定的头文件。软件包是 boost 和 alsa。
我已将 bitbake 配方文件包含到我的图像配方中,这是一个核心配方 (console-trdx-image.bb) 的 bbappend 作为 IMAGE_INSTALL += 并对图像进行 bitbaked。
当我查看我的构建工作目录时,在 alsa 和 boost 的包中,所有文件都驻留在我希望它们所在的位置 - 以 usr/include/alsa 为例。
我很难将构建/安装的包材料放入图像本身的 rootfs 中。
我的 .bbappend 为 alsa 如下:
do_install_append() {
# Create alsa dirs
install -d ${D}/${includedir}/alsa
install -d ${D}/${includedir}/alsa/sound
# Install headers
install -m 0755 ${S}/include/*.h ${D}/${includedir}/alsa
install -m 0755 ${S}/include/sound/*.h ${D}/${includedir}/alsa/sound
}
# Include these files in the install on the target
FILES_${PN} += "${includedir}/alsa/*.h"
Run Code Online (Sandbox Code Playgroud)
当我在创建的映像的 rootfs 中查看 /usr/include 时,那里没有任何内容。不是香肠。
任何人有任何想法为什么?
谢谢!
首先,你不需要我们的bbappend,只是为了打包头文件。
如果您只是这样做bitbake alsa-lib,您将得到(除其他外):
$ ls tmp-glibc/work/i586-oe-linux/alsa-lib/1.0.29-r0/packages-split/alsa-lib-dev/usr/include/
alsa sys
在子目录 alsa 中,您将找到 alsa 库的所有已安装头文件。
但是,这些头文件通常不会安装到您的 rootfs 上,因为这毫无意义(大多数时候)。如果您希望能够直接在您的目标上针对 alsa-lib 进行开发,那么您应该全力以赴alsa-lib-dev。最好通过添加
IMAGE_INSTALL += "alsa-lib-dev"
您的图像配方。您还可以添加
IMAGE_INSTALL_append = " alsa-lib-dev"
到 local.conf。_append请注意字符串中 和 前导空格的使用。
执行上述任一操作都会将所有头文件添加到您的 rootfs 中。
| 归档时间: |
|
| 查看次数: |
6456 次 |
| 最近记录: |