gpt4 book ai didi

yocto - 配方中的功能未被覆盖

转载 作者:行者123 更新时间:2023-12-04 02:03:18 26 4
gpt4 key购买 nike

我想覆盖继承自 bbclass 的配方 (bb) 中的函数,但它不起作用——执行的是 bbclass(父类(super class))中的函数而不是新函数。

这是一个最小的(非)工作示例。

类(class):

# myclass.bbclass

do_compile() {
echo MyClass
}

食谱:
# myrecipe.bb

do_compile() {
echo MyRecipe
}

inherit myclass

编译配方后,日志文件如下所示:
$ cat temp/log.do_compile
DEBUG: Executing shell function do_compile
MyClass
DEBUG: Shell function do_compile finished

为什么不覆盖 do_compile工作?

最佳答案

inherit的位置在配方文件中很重要。如果你把它放在文件的开头(在(子类)配方中定义函数 do_compile 之前),它就可以工作。

食谱:

# myrecipe.bb

inherit myclass

do_compile() {
echo MyRecipe
}

编译配方后,日志文件如下所示:
$ cat temp/log.do_compile
DEBUG: Executing shell function do_compile
MyRecipe
DEBUG: Shell function do_compile finished

关于yocto - 配方中的功能未被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com