kdo*_*pen 7 openembedded bitbake yocto
我需要foo
在一个配方(foo-native
)中安装一个本机脚本,调用它,然后在do_compile
另一个(目标)配方的步骤中使用它- 调用它bar
.
我的(最小)原生食谱
SRC_URI = "file://foo"
LICENSE = "CLOSED"
inherit native
BBCLASSEXTEND = "native"
S = "${WORKDIR}"
do_compile() {
:
}
do_install() {
install -d ${D}/usr/bin
install ${WORKDIR}/foo ${D}/usr/bin
}
Run Code Online (Sandbox Code Playgroud)
该脚本foo
存在于一个目录中,该目录files
位于配方旁边.即
foo/
??? files
? ??? foo
??? foo.bb
Run Code Online (Sandbox Code Playgroud)
我的目标食谱 bar
SRC_URI = ""
LICENSE = "CLOSED"
DEPENDS = "foo-native"
do_fetch[noexec] = "1"
do_configure[noexec] = "1"
do_compile() {
foo >myfile.json
}
do_install() {
install -d ${D}/etc
install ${WORKDIR}/myfile.json ${D}/etc
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是在do_compile
任务中bar
,它只是说foo
无法找到(即没有安装到路径上的目录中).
首先,你不需要这条线
inherit native
Run Code Online (Sandbox Code Playgroud)
在foo.bb
.它由你照顾BBCLASSEXTEND = "native"
.
其次,将你do_install
改为:
do_install() {
install -d ${D}${bindir}
install ${WORKDIR}/foo ${D}${bindir}
}
Run Code Online (Sandbox Code Playgroud)
注意:使用${bindir}
而不是/usr/bin
.${bindir}
确定是使用${prefix}
,例如在构建-native
配方版本时改变.
归档时间: |
|
查看次数: |
2186 次 |
最近记录: |