我正在尝试为构建g729编解码器。
我遵循了链接,我能够构建g729project。在成功构建之后,它生成三个目录,名为include、shared和lib。因此,当尝试使用g729codec构建路径构建android项目时,pjsip无法对g729build目录进行重新定位。
PJSIP说,按照g729的安卓构建说明,我找不到任何belladone.But。那怎么解决呢??
发布于 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中指定的,命令如下。
make && make install最后,在CMAKE_INSTALL_PREFIX路径上创建库文件。
使用该路径构建PJSIP库,如下所示
TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags --with-bcg729=/home/Desktop/g729_libraries/如果它显示为,
Using bcg729 prefix... /home/Desktop/g729_libraries/
checking bcg729 usablitiy... ok然后您成功地将bcg729集成到PJSIP2.7中。
如果没有像上面那样的结果,请评论下面!
发布于 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.现在建造。
如果你需要更多的帮助,评论。
发布于 2019-08-15 10:52:35
这个库实际上包含了Android.mk,只是有点过时了,即:缺少三个(新添加的?)源文件: src/cng.c,src/dtx.c,src/vad.c。附加这些文件,它应该是可用的。
另外,在链接中为Android (票#2029)构建libbcg729的步骤也刚刚更新。
https://stackoverflow.com/questions/46566800
复制相似问题