在Belldone Communications中,没有明确说明如何使用 CMake 为每个Target平台构建 G729 项目。
第 1 步:
CMAKE 下载链接=> https://cmake.org/download/
只需使用上面的链接为您的平台(Linux/Mac/Windows 操作系统)下载 Cmake 软件。
对于 Linux,下载 cmake tar 文件并解压到所需路径。转到[Cmake 路径]/bin/ 路径。右键单击cmake-gui应用程序并运行它。
第二步:
下载Belldone通信的G729项目。
i)选择您下载的 g729 项目文件夹作为源代码路径。
ii)为 cmake 二进制文件创建空文件夹并选择它来构建二进制文件。它将生成用于为您指定的平台构建项目的生成文件。
注意:为最新的 PJSIP 2.7安装Android-ndk-r15c
iii)在 CMAKE 中指定以下名称和值
CMAKE_C_FLAGS很重要。使用与构建 PJSIP 2.7 相同的 CFLAG。
CMAKE_C_FLAGS = -gcc-toolchain /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fpic -ffunction-sections -funwind-tables -Wno -invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -fno-integrated-as -target armv7-none-linux-androideabi26 -march=armv7-a -mfloat-abi= softfp -mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -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 /home/application/Desktop/pjsip2_7/NDK/android-ndk-r15c/sysroot/usr/include/arm-linux-androideabi -I/home/应用程序/桌面/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路径中可用
/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 = 开
ENABLE_STATIC = ON
ENABLE_TESTS = ON
CMAKE_BUILD_TYPE = 发布
指定上述配置后,您可以配置和生成 Cmake 输出。
然后使用 Cmake App 中指定的终端转到二进制路径。运行以下命令。
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 集成到 PJSIP 2.7
如果不是上面的结果,请在下面评论!