在Android中构建PJSiP时出错

问题描述 投票:3回答:2

当我试图在构建pjsip for android时输入此命令,

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

发生此错误,

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

谁能给我一个解释

android android-ndk pjsip
2个回答
7
投票

我相信你现在已经过去了,但对于找到这个帖子的其他人来说:

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

这可以通过在configure调用之前执行导出来完成:

export NDK_TOOLCHAIN_VERSION=4.9
./configure-android

或者与configure调用在同一命令行上:

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

在Android NDK的修订版13+中,默认编译器是Clang而不是GCC。 PJSIP 2.6(撰写本文时最新)尚未更新以正确解析Clang编译器位置,因此它声称“找不到编译器,请检查环境设置”。将NDK_TOOLCHAIN_VERSION设置为4.9迫使NDK使用GCC代替Clang,然后PJSIP会很高兴。

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

这个解决方案来自this answer和相应的PJSIP票can be found here


0
投票

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"
© www.soinside.com 2019 - 2024. All rights reserved.