代码之家  ›  专栏  ›  技术社区  ›  TheWaterProgrammer

如何将预构建的静态库bitbake复制到sdk中

  •  0
  • TheWaterProgrammer  · 技术社区  · 6 年前


    我正在使用yoctolinux菜谱。我试着做一个简单的复制一个预先构建的食谱 MyLibrary.a 以及在构建的linux映像上可用的头文件。所以,我有一个 libMyLibrary.a 我想复制到 /usr/lib . 以及 MyLibrary 的头文件 MyLibrary.h MyLibrary.hpp /usr/include 我的图书馆 已经构建了,我只想将二进制文件和头文件复制到构建的linux映像的所需位置。

    以下是配方:

    SUMMARY = "Script to make a static library available in yocto linux image"
    LICENSE = "CLOSED"
    
    FILES_${PN} += "${libdir}"
    
    SRC_URI = "file://libMyLibrary.a \
               file://MyLibrary..hpp \
               file://MyLibrary..h \
    "
    
    S = "${WORKDIR}"
    
    do_install () {
        install -d ${D}${libdir}
        install -d ${D}${includedir}
        install -m 0644 ${WORKDIR}/libMyLibrary.a ${D}${libdir}/
        install -m 0644 ${WORKDIR}/MyLibrary.h ${D}${includedir}/
        install -m 0644 ${WORKDIR}/MyLibrary.hpp ${D}${includedir}/
    }
    

    一开始我在 do_install 步骤。我解决了,但现在 do_rootfs step在抱怨我 bb mylibrary_1.0.bb . 我很确定调用我的配方的父配方没有错误,因为它构建了许多其他配方,而我的配方只是它的附加配方。而且,在我编写 是否安装

    问题
    有人能指出我上面的食谱有什么问题吗?
    或者有没有一个简单的食谱复制了 .a /usr/lib公司 /usr/包括

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ross Burton    6 年前

    解释错误是什么很有用。请注意,因为您的配方只提供静态库和头文件,所以它不会生成mylibrary包,这可能就是错误的原因。