我有一个取决于星号的包装。由于它取决于星号,因此我在bitbake文件中包括了DEPENDS =“ asterisk”。但是我的源包无法找到asterisk包中可用的“ asterisk.h”。我在此命令[do_populate_sysroot]中尝试了“ bitbake asterisk -c listtasks”可以使用,但是bitbake希望asterisk.h从此处驻留,以便可以从那里获取。 以下是我在编译食谱时遇到的日志错误。
checking for string.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for termios.h... (cached) yes
checking whether asterisk.h in ../include... no
checking whether asterisk.h in /usr/include... no
checking whether asterisk.h in /usr/local/include... no
checking whether asterisk.h in /opt/local/include... no
configure: error: Can't find "asterisk.h"
注意:以下config.log文件可能会提供更多信息。
答案 0 :(得分:0)
我们可以使用提供者和用户来说明这种情况,包(配方)提供了供另一个包(配方)使用的头文件,即提供者,包(配方)使用了另一个包(配方)中的头文件)就是用户。
首先,我们更改提供者的配方(myprovider.bb)以导出头文件-myapi.h,
fun uploadImage(imagePath : String){
uploadToServer(imagePath)
.subscribe()
.addTo(disposal)
}
override onCleared(){
disposal.dispose()
}
第二,我们更改用户的配方(myuser.bb)以引用头文件-myapi.h
...
do_install() {
install -d ${D}/${bindir}
install -m 755 ${B}/hello_provider ${D}/${bindir}
install -d ${D}${libdir}/lib_myprovider/
install -m 0755 ${WORKDIR}/myapi.h ${STAGING_DIR_TARGET}${libdir}/lib_myprovider/
}
...
最后,重建myprovider.bb和myuser.bb食谱,它应该可以工作。