Я пытаюсь скомпилировать простую программу PJSIP с помощью Yocto / Openembedded. И у меня есть эта ошибка: fatal error: pjsua-lib/pjsua.h: No such file or directory
Вот мой Makefile:
all: simple_pjsua
simple_pjsua: simple_pjsua.c
$(CC) -o $@ $< `pkg-config --cflags --libs libpjproject`
clean:
rm -f simple_pjsua.o simple_pjsua
А вот мой простой pjsua_2.6.bb:
DESCRIPTION = "Open source SIP stack and media stack for presence, im/instant \
messaging, and multimedia communication"SECTION = "libs"HOMEPAGE = "http://www.pjsip.org/"# there are various 3rd party sources which may or may not be part of the
# build, there license term vary or are not explicitely specified.
LICENSE = "CLOSED"
PR = "r0"
SRC_URI = "file://simple_pjsua.c \
file://Makefile \
file://README.txt"
S = "${WORKDIR}/"
do_compile() {
cd ${S}
#to prevent libpjproject.PC not found error
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
oe_runmake
}
do_install() {
install -m 0755 -d ${D}${bindir} ${D}${docdir}/simple_pjsua
install -m 0755 ${S}/simple_pjsua ${D}${bindir}
install -m 0755 ${WORKDIR}/README.txt ${D}${docdir}/simple_pjsua
}
Я пытался добавить INC=-I/usr/include/pjsua-lib/
в Makefile, но ничего не изменилось .. И если я хочу скомпилировать его на моем компьютере с make
работает.
Что я могу сделать?
РЕДАКТИРОВАТЬ :
Я пытался добавить export LD_LIBRARY_PATH=/usr/include
в do_compile () в файле bb. Та же проблема
Вы ссылаетесь на хост-библиотеки, что на самом деле неправильно, если вы не создаете нативный пакет (которым вы не являетесь).
Вам нужно сделать рецепт для pjsip, чтобы собрать и установить его, и тогда этот рецепт должен зависеть от этого.
убедитесь, что файл /usr/include/pjsua-lib/pjsua.h существует.
# INC=-I/usr/include/pjsua-lib # not ok
INC=-I/usr/include