2015-10-08 4 views
2

Я получаю сообщение об ошибке Galaxy S6 Edge +, где говорится, что он не может загрузить собственную библиотеку. Я использую CSipSimple. Он компилируется отлично, если я не включаю arm64-v8a в файл Application.mk. Я подъемы эту ошибку:Android CSipSimple Build Fail для arm64-v8a

[arm64-v8a] StaticLibrary : libpj_amr_stagefright_codec.a 
[arm64-v8a] StaticLibrary : libpjsip.a 
[arm64-v8a] Compile  : pjmedia <= echo_webrtc_aec.c 
In file included from jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../webrtc/sources/modules/audio_processing/aec/include/echo_cancellation.h:14:0, 
       from jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/src/pjmedia/echo_webrtc_aec.c:57: 
jni/pjsip/android_toolchain/pjmedia/../../sources/pjmedia/../../../webrtc/sources/typedefs.h:61:2: error: #error Please add support for your architecture in typedefs.h 
#error Please add support for your architecture in typedefs.h 
^
make[1]: *** [obj/local/arm64-v8a/objs/pjmedia/src/pjmedia/echo_webrtc_aec.o] Error 1 
make[1]: *** Waiting for unfinished jobs.... 
rm jni/swig-glue/android_toolchain/../.pjsua.i 
make[1]: Leaving directory `/home/user/data/svn/CSipSimple-trunk/CSipSimple' 
make: *** [libraries] Error 2 

Вот часть файла макияжем (я включу его в том случае, испортили его):

JNI_DIR := $(call my-dir) 

APP_OPTIM := release APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a 

MY_USE_CSIPSIMPLE := 1 

MY_USE_G729 := 1 

Я использую r10e- Android NDK rc4, если это помогает.

Edit 1: Я также попытался здания, используя следующие команды в следующем порядке: обновление СВН, сделать чистый, сделать udpate, сделать

ответ

0

У меня такая же проблема. Похоже, код от WebRTC еще не поддерживал arm64-v8a.

Применить патч ниже к 'webrtc/sources/typedefs.h' из вашего сообщения об ошибке можно исправить этот разрыв сборки.

#define WEBRTC_ARCH_32_BITS 
#define WEBRTC_ARCH_LITTLE_ENDIAN 
#define WEBRTC_LITTLE_ENDIAN 
+#elif defined(__aarch64__) 
+#define WEBRTC_ARCH_64_BITS 
+#define WEBRTC_ARCH_LITTLE_ENDIAN 
+#define WEBRTC_LITTLE_ENDIAN 
#elif defined(__MIPSEL__) 
#define WEBRTC_ARCH_32_BITS 
#define WEBRTC_ARCH_LITTLE_ENDIAN 

также смотрите: https://android.googlesource.com/platform/external/webrtc/+/android-6.0.1_r41/src/typedefs.h

сведению, код из приведенной выше ссылки не содержит #define WEBRTC_LITTLE_ENDIAN, но в версии моего кода, WEBRTC_LITTLE_ENDIAN и WEBRTC_ARCH_LITTLE_ENDIAN приходят пары. поэтому я думаю, что это зависит от версии.

 Смежные вопросы

  • Нет связанных вопросов^_^