首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为pjsipandroid构建g729

如何为pjsipandroid构建g729
EN

Stack Overflow用户
提问于 2017-10-04 13:58:03
回答 3查看 1.1K关注 0票数 2

我正在尝试为构建g729编解码器。

G729Android的PJSIP链接

我遵循了链接,我能够构建g729project。在成功构建之后,它生成三个目录,名为include、shared和lib。因此,当尝试使用g729codec构建路径构建android项目时,pjsip无法对g729build目录进行重新定位。

PJSIP说,按照g729的安卓构建说明,我找不到任何belladone.But。那怎么解决呢??

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-09 12:18:22

Belldone通信中,对于如何为每个目标平台使用CMake构建G729项目没有明确的解释。

步骤1: CMAKE下载Link=> https://cmake.org/download/

只需为您的平台(Linux/Mac/Windows)下载使用上述链接的Cmake软件即可。

对于Linux,下载cmake文件并解压缩到所需的路径。转到Cmake /bin/路径。右键单击cmake应用程序并运行它。

步骤2:下载Belldone通信的G729项目

i)选择下载的g729项目文件夹作为源代码路径

ii)为cmake二进制文件创建空文件夹,并为选择它,构建二进制文件。它将成为为您指定的平台构建您的项目的makefile。

注意:为最新的PJSIP 2.7安装Android-ndk-r15c

iii)在CMAKE中指定以下名称和值

CMAKE_C_FLAGS是重要的一种。使用相同的CFLAG来构建PJSIP 2.7。 -gcc-工具链/home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fpic -函数-区段-风趣表-Wno-无效-命令行-参数-Wno-未使用-命令行参数-非规范-前缀-fno-集成-as -target armv7 7-none linux-androideabi26 26-进军=armv7 7-a-mfloat-abi=软fno mfpu=vfpv3 3-d16 -mthumb -Os -DNDEBUG -Ijni --D__ANDROID_API__=26 -Wa,-noexecstack -Wformat -Werror=format-Security-sysroot /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/platforms/android-26/arch-arm/ -isystem -Wformat -I/home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c//sources/cxx-stl/llvm-libc++/include 注意:比较您的-sysroot路径与上面的路径相同。 CMAKE_AR,CMAKE_LINKER,CMAKE_NM,CMAKE_OBJCOPY,CMAKE_OBJDUMP,CMAKE_RANLIB,CMAKE_STRIP /android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/ CMAKE_C_COMPILER = /android-ndk-r15c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang/ CMAKE_INSTALL_PREFIX=,您希望在其中创建输出库文件,该文件稍后用于构建pjsip。在构建PJSIP --with-bcg729 = CMAKE_INSTALL_PREFIX路径时使用相同的路径。 CMAKE_SKIP_INSTALL_RPATH = ON ENABLE_SHARED = ON ENABLE_STATIC = ON ENABLE_TESTS = ON CMAKE_BUILD_TYPE =释放

在指定上述配置之后,您可以配置和生成Cmake输出。

然后转到使用终端的二进制路径,这是在您的Cmake App.Run中指定的,命令如下。

代码语言:javascript
复制
make && make install

最后,在CMAKE_INSTALL_PREFIX路径上创建库文件。

使用该路径构建PJSIP库,如下所示

代码语言:javascript
复制
TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags --with-bcg729=/home/Desktop/g729_libraries/

如果它显示为,

代码语言:javascript
复制
Using bcg729 prefix... /home/Desktop/g729_libraries/
checking bcg729 usablitiy... ok

然后您成功地将bcg729集成到PJSIP2.7中。

如果没有像上面那样的结果,请评论下面!

票数 3
EN

Stack Overflow用户

发布于 2017-10-08 11:44:52

是的,对于使用您想要以其他方式构建G729的link.If (相同的G729源),您可以按照以下方式构建G729,这是非常不清楚的:-

1.从回购系统下载最新的PJSIP。

2.从https://github.com/saravnandm/pjsip2.5-g729codec下载修补程序

3.将PJSIP项目中的每个文件作为给定修补程序中的目录。

4.按照pjproject-2.5.diff的说法进行更改。

5.现在建造。

如果你需要更多的帮助,评论。

票数 4
EN

Stack Overflow用户

发布于 2019-08-15 10:52:35

这个库实际上包含了Android.mk,只是有点过时了,即:缺少三个(新添加的?)源文件: src/cng.c,src/dtx.c,src/vad.c。附加这些文件,它应该是可用的。

另外,在链接中为Android (票#2029)构建libbcg729的步骤也刚刚更新。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46566800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档