在yocto build

时间:2015-09-28 09:23:41

标签: boost alsa yocto bitbake

我试图在dev软件包中找到的yocto构建中包含特定的头文件。这些包是boost和alsa。

我已将bitbake配方文件包含在我的图像配方中,这是一个核心配方(console-trdx-image.bb)的bbappend,作为IMAGE_INSTALL + =并对图像进行bitbaked。

当我查看我的构建工作目录时,在alsa和boost的包中,所有文件都驻留在我希望它们的位置 - usr / include / alsa作为示例。

我很难将构建/安装的包材料放入图像本身的rootfs中。

我的.bbappend for 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"

当我在创建的图像的rootfs中查看/ usr / include时,那里没有任何东西。不是香肠。

任何想法为什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

首先,您不需要我们的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中。