【发布时间】:2017-07-21 19:02:00
【问题描述】:
我是 yocto 和 bitbake 的新手,我正在为自定义 imx6 板构建一个 voip 应用程序。我想使用 pjsip 库来构建我的应用程序,我在 yocto 构建中编译了 pjsip 并生成了 pjsip 库(所有 pjsip 库都是静态的)。我在为调用 pjsip 函数的应用程序构建配方时遇到问题。下面是我的食谱的样子
文件名:rttapp.bb
DESCRIPTION = "Simple voip application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM ="file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r1"
SRC_URI += "file://rttapp.c"
SRC_URI += "file://include"
SRC_URI += "file://lib"
S = "${WORKDIR}"
CFLAGS_prepend += "-I${WORKDIR}/include -DPJ_AUTOCONF=1 -DPJ_IS_BIG_ENDIAN=0 ->DPJ_IS_LITTLE_ENDIAN=1"
LDFLAGS_append += "-L${WORKDIR}/lib -lpjsua2-arm-poky-linux-gnueabi -lstdc++ ->lpjsua-arm-poky-linux-gnueabi -lm -lrt -lpthread -lasound"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} rttapp.c -o rttapp
}
当我执行 bitbake rttapp 时,我看到的错误如下:
/usr/src/debug/rttapp/1.0-r1/rttapp.c:159: undefined reference to pjsua_create'. collect2: error: ld returned 1 exit status
请指教
【问题讨论】:
-
您确定应该使用 C 编译器链接到 libstd++.so 吗?此外,您没有说明您使用的是哪个版本和文档层。
-
同意感谢您的指出,删除了 libstd++,但主要错误仍然存在……没想到这个更改也能解决它。