Мы можем использовать провайдера и пользователя , чтобы проиллюстрировать этот случай, пакет (рецепт) предоставляет файл заголовка, который будет использоваться другим пакетом (рецептом), является провайдером, пакет (рецепт) использует заголовочный файл из другого пакета (рецепт) пользователь .
Сначала мы изменим рецепт провайдера ( myprovider.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/
}
...
Во-вторых, мы изменяем рецепт пользователя ( myuser.bb ), чтобы ссылаться на файл заголовка- myapi.h
...
do_compile () {
${CC} ${WORKDIR}/main.c -o hello_user ${CFLAGS} ${LDFLAGS} -I${STAGING_DIR_TARGET}/${libdir}/lib_myprovider/
}
# file dependency declaration
FILES_${PN} = "${libdir}/lib_myprovider"
# package dependency declaration
DEPENDS += "myprovider"
...
Наконец, перестройте рецепты myprovider.bb и myuser.bb, все должно заработать.