启用Speex-AEC编译PJSIP项目失败,请求解决指导
解决PJSIP启用Speex声学回声消除的编译错误
问题根源
你在配置时同时使用了--disable-speex-codec和--enable-speex-aec,但Speex声学回声消除功能依赖Speex库的核心组件,禁用speex-codec会导致编译时无法链接到speex_aec_create这类Speex AEC相关函数。
正确编译配置步骤
- 调整configure参数:移除
--disable-speex-codec选项,保留--enable-speex-aec,修改后的完整配置命令如下:
./configure --host=arm-unknown-none --target=arm-unknown-none --prefix=/home/iwahed/proj/embox/build/extbld/third_party/pjproject/core/install --disable-l16-codec --disable-ilbc-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-libyuv --disable-libwebrtc --disable-pjsua2 --enable-speex-aec
- 清理编译残留:避免旧编译文件干扰,执行清理命令:
make clean && make distclean
- 重新执行编译流程:
./configure [上述修改后的完整参数] && make dep && make
额外排查点(若问题仍存在)
- 确认使用的pjproject-2.11.1源码包内置完整Speex组件(该版本默认内置,无需额外安装系统级Speex库)
- 查看编译日志,确认
speex_echo.c文件被正常编译并打包到libpjmedia-arm-unknown-none.a库中
内容的提问来源于stack exchange,提问作者I.Waheed
相关产品推荐
相关产品推荐

