【发布时间】:2019-08-14 21:41:34
【问题描述】:
我为第三方库制作了自定义配方。 它包含:
BBCLASSEXTEND =+ "native nativesdk"
配方构建了一个静态库,依赖于virtual/kernel 并复制了一些标头 - 相对简单。
我正在尝试将它安装到主机 SDK 中以进行交叉编译,但我遇到了一些问题。
当我尝试添加时:
TOOLCHAIN_HOST_TASK_append = " nativesdk-<recipe>"
... 到 local.conf 并运行 bitbake core-image-weston -c populate_sdk,BitBake 完成,但主机 SDK 中没有标头和库(对于我的主机架构)。
当我尝试添加时:
TOOLCHAIN_HOST_TASK_append = " <package>-staticdev"
...我收到以下错误:
package <package>-staticdev-1.11.0-r0.aarch64 does not have a compatible architecture
任何帮助将不胜感激。
【问题讨论】:
-
我不确定,你的配方取决于你的构建机器内核?不应该在
TOOLCHAIN_TARGET_TASK中添加,而是基于目标内核吗? -
@Nayfe 也许我误解了。 bb 文件包含 DEPENDS = "virtual/kernel",因为它在编译期间依赖于 Linux 头文件。所以它不依赖于“构建机器内核”,它只依赖于它所构建的目标的内核。至少我认为它是这样做的。
-
您确定需要
native食谱吗?你编译的东西会在构建机器上运行吗? (我不是在谈论交叉编译)?也许你只需要TOOLCHAIN_TARGET_TASK_append = " <package>-staticdev <package>-dev"? -
@Nayfe 谢谢,我刚刚度过了一个愚蠢的时刻,你是完全正确的。如果您根据最后一条评论创建答案,我很乐意接受。