在 Android 中构建 PJSiP 时出错

Error While building PJSiP in Android

当我在为 android、

构建 pjsip 时尝试输入这个命令

TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags

出现这个错误,

未找到编译器,请检查环境设置(TARGET_ABI 等)

谁能给我一个explanation.pls

我相信您现在已经超越了这一点,但对于发现此主题的其他人:

只需将 NDK_TOOLCHAIN_VERSION 环境变量设置为 4.9

这可以通过在配置调用之前进行导出来完成:

export NDK_TOOLCHAIN_VERSION=4.9
./configure-android

或在与配置调用相同的命令行上:

NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=<whatever> ./configure-android --use-ndk-cflags

在 android NDK 的修订版 13+ 中,默认编译器是 Clang 而不是 GCC。 PJSIP 2.6(撰写本文时最新版本)尚未更新以正确解析 Clang 编译器位置,因此它声称 "compiler not found, please check environment settings"。将 NDK_TOOLCHAIN_VERSION 设置为 4.9 会强制 NDK 使用 GCC 代替 Clang,然后 PJSIP 会很高兴。

根据 the NDK revision history,GCC 将在未来的版本中删除。因此,如果阅读本文的人正在使用已删除的 NDK 版本(在撰写本文时尚未发生),您只需降级 NDK。

此解决方案来自 and the corresponding PJSIP ticket can be found here

GCC 支持已停止,已被 Clang 取代。

试试这个:

export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang -target armv7-none-linux-androideabi -gcc-toolchain $NDK_TOOLCHAIN"

export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -target armv7-none-linux-androideabi -gcc-toolchain $NDK_TOOLCHAIN"