微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在DEOCENDS中提供的配方可以在yocto中拥有自己的do_install吗?

如何解决在DEOCENDS中提供的配方可以在yocto中拥有自己的do_install吗?

我正在尝试使用Yocto(Rocko)为基于Linux i.MX6的嵌入式系统构建自定义配方。 主配方依赖于其他自定义配方(因为主配方正在使用该配方中的头文件),这还会创建一些二进制文件,这些二进制文件需要包含在最终图像中。

我在main_recipe.bb的“ DEPENDS”中添加了other_recipe(nbdkit)

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    public static MainActivity instance { set; get; }

    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;

        instance = this;

        base.OnCreate(savedInstanceState);

        Xamarin.Essentials.Platform.Init(this,savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this,savedInstanceState);
        LoadApplication(new App());
    }
...

主要配方是在其自己的源文件包括“工具包”配方中的头文件)的帮助下创建一个.so。通过将其添加到do_install()中,我可以安装使用此main_recipe生成的二进制文件.so

现在在other_recipe(nbdkit http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-support/nbdkit/nbdkit_git.bb?h=master)中,当我添加do_install()以包括从该配方生成的二进制文件时,main_recipe构建失败,并出现PKG_CONfig错误,如下所示,

DEPENDS += "nbdkit"

其他构建错误表明找不到main_recipe中包含的工具包的头文件

| Package nbdkit was not found in the pkg-config search path.
| Perhaps you should add the directory containing `nbdkit.pc'
| to the PKG_CONfig_PATH environment variable
| No package 'nbdkit' found

其中app-nbdkit-plugin.c是main_recipe的源文件,而kit-plugin.h是other_recipe的头文件

奇怪的是,当我从other_recipe(nbdkit)中删除do_install()时,main_recipe正在成功构建。 现在我怀疑,是否可以将一个配方设置为其他配方的DEPENDS,并同时将其作为do_install()提供输出文件? 将头文件从other_recipe共享到main_recipe是否可以解决问题?如果是,该怎么做?

谢谢。

[EDIT]添加了nbdkit配方链接

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。