2012-08-28 1 views
0

Linux에서 cSipSimple 응용 프로그램을 실행하려고합니다. 그것을 구축하려면 링크 http://code.google.com/p/csipsimple/wiki/HowToBuild을 사용하고 있습니다. 먼저 모든 패키지를 설치했습니다. 그렇다면 ndk와 sdk는 이미 내 리눅스 머신에 설치되었다. 그래서 난 그냥 내가 명령을 실행하고 지금cSipSimple 응용 프로그램 오류 : - 'SL_ANDROID_STREAM_VOICE'선언되지 않음 (이 기능에서 처음 사용)

"export ANDROID_NDK=/home/nishant/JAVA/android-ndk-r6m-linux/ export ANDROID_SDK=/home/nishant/JAVA/android-sdk-linux_86/ export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$ANDROID_NDK"

만들 .bashrc와의 경로를 따라 설정, 나는 다음과 같은 오류가 점점 오전 : - 파일에

/home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c: In function 'opensl_create_stream': /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:532: error: 'SL_ANDROID_STREAM_VOICE' undeclared (first use in this function) /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:532: error: (Each undeclared identifier is reported only once /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:532: error: for each function it appears in.) /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:557: error: 'SL_ANDROID_KEY_STREAM_TYPE' undeclared (first use in this function) /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:654: error: 'SL_ANDROID_RECORDING_PRESET_GENERIC' undeclared (first use in this function) /home/nishant/CSipSimple/jni//pjsip/android_toolchain/pjmedia/../../sources/pjmedia//../../android_sources/pjmedia/src//pjmedia-audiodev/opensl_dev.c:669: error: 'SL_ANDROID_KEY_RECORDING_PRESET' undeclared (first use in this function) make[1]: *

[/home/nishant/CSipSimple/obj/local/armeabi/objs/pj_opensl_dev/../../android_sources/pjmedia/src//pjmedia-audiode

매크로 "SL_ANDROID_STREAM_VOICE"및 기타 매크로를 정의 "OpenSLES_AndroidConfiguration.h"는 ndk에 있습니다. 나는 그것을 얻지 못한다. 나는 ndk 경로를 제공하고 있지만, 여전히 그것을 추적 할 수없는 이유는 무엇인가.

NDK의 경로를 설정하는 것이 누락 되었습니까?

I 버전의 안드로이드 NDK-r8d, 파일 플랫폼/안드로이드-9 NDK 소스의 추적

감사

답변

2

도와주세요/아치 팔은/usr/포함/SLES/OpenSLES_AndroidConfiguration.h :

행 20 :

#ifdef __cplusplus 
extern "C" { 

// some source code 

} 
#endif 

나는 생각한다, 그런 식으로 정의하는 것이 좋습니다 :

,
#ifdef __cplusplus 
extern "C" { 
#endif 

// some source code 

#ifdef __cplusplus 
} 
#endif 

플랫폼/android-9/arch-arm/usr/include/SLES/OpenSLES_AndroidConfiguration.h에서 모든 정의를 pjmedia/src // pjmedia-audiodev/opensl_dev.c로 이동하면 올바르게 작동합니다. 그러나 이것은 좋은 해결책이 아닙니다.

관련 문제