Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
arm64-v8a的Android CSipSimple构建失败_Android_Android Ndk_Csip Simple - Fatal编程技术网

arm64-v8a的Android CSipSimple构建失败

arm64-v8a的Android CSipSimple构建失败,android,android-ndk,csip-simple,Android,Android Ndk,Csip Simple,我在Galaxy S6 Edge+上遇到一个错误,它说它无法加载本机库。我正在使用CSipSimple。如果在Application.mk文件中不包含arm64-v8a,那么它的编译效果很好。我发现这个错误: [arm64-v8a] StaticLibrary : libpj_amr_stagefright_codec.a [arm64-v8a] StaticLibrary : libpjsip.a [arm64-v8a] Compile : pjmedia <= ech

我在Galaxy S6 Edge+上遇到一个错误,它说它无法加载本机库。我正在使用CSipSimple。如果在Application.mk文件中不包含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
如果有帮助的话,我正在使用Android NDK r10e-rc4

编辑1: 我还尝试使用以下命令按顺序构建:
svn更新,清除,清除,清除,清除我也有同样的问题。看起来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
另见:

注意,上面链接中的代码不包含
#define WEBRTC_LITTLE_ENDIAN
,但在我的代码版本中,
WEBRTC_LITTLE_ENDIAN
WEBRTC_ARCH_LITTLE_ENDIAN
成对出现。所以我认为这取决于版本

 #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