我正在寻找一个示例,展示如何将专有库包含到工具链中。
我们给图书馆打电话吧
myLib
。为此,我创建了一个食谱myLib.bb
并添加:
BBCLASSEXTEND = "native nativesdk"
在我的“local.conf”中我添加了:
IMAGE_INSTALL_append = " myLib"
构建 SDK 时:
$ bitbake myTarget -c populate_sdk
它会生成 SDK 的安装程序和两个清单文件。
myLib
仅包含在目标清单中,而不包含在主机上。如何在主机系统上包含 myLib
?
这个想法是,另一个人可以在没有 Yocto 系统的情况下在他的系统上构建软件。只有使用工具链,他才能生成二进制文件,可以在评估板上传输和执行。
只要您的库
myLib
安装到映像中,它就应该是生成的 SDK 的一部分。您也说它是,至少作为目标清单的一部分。
确保您安装了库所需的头文件,然后您应该能够针对您的库进行交叉编译。
您需要在开发人员构建机器上使用
myLib
吗?不然为什么要把它加到nativeskd部分呢? (即主机清单)。这适用于需要在主机上运行的应用程序,即交叉编译器、代码生成器等。