Yocto 食谱的依赖项

问题描述 投票:0回答:1

我对 Yocto 构建系统很陌生,我正在为一些我不明白的事情而苦苦挣扎。实际上,有什么区别:

取决于=“foo” 和 取决于=“foo-native”

我的意思是,我知道后缀 -native 表示组件 foo 将被构建为在本机主机上运行,但是对目标机器会产生什么后果?

将依赖项切换为原生依赖项会发生什么变化?

无论如何,一切都是在主机上预先构建和预先打包的,区别在哪里?

yocto openembedded
1个回答
3
投票

DEPENDS
是构建时间依赖项,允许您指定在构建配方之前需要存在哪些包。因此
DEPENDS = "foo"
会明确指出 foo 包需要成功构建并安装到我的包之前,开始它是 do_configure (它可能只是
do_compile
的依赖项,但我认为它是
 do_configure
)过程。使用
-native
表示
DEPENDS
表示包本机组件也需要存在。一个很好的例子是 Google
protobuf
包。它同时具有本机组件和目标组件,通常需要同时使用这两种组件。 protobuf-native 包将包括创建 protoc 编译器,这是构建需要 protoc 编译器生成内容的包所必需的。它还需要
protbuf
包作为其运行时组件以及链接。 一般来说,可以说没有任何后果。目标上不存在我上面示例中的协议。这个答案可能取决于软件包,所以说它没有那么简单。一般来说,如果您需要本机工具来帮助您构建目标对象,请使用

-native

© www.soinside.com 2019 - 2024. All rights reserved.