i am trying to run cSipSimple application on linux. To build it i am using link http://code.google.com/p/csipsimple/wiki/HowToBuild. First i have installed all the packages. Then ndk and sdk was already installed in my linux machine. So i just set following path in .bashrc
“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”
Now when i am running command make, i am getting following error:-
/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
The macro “SL_ANDROID_STREAM_VOICE” and other macros, defined in file “OpenSLES_AndroidConfiguration.h” , which is located in ndk. I don’t get it, i am giving ndk path, but still why it’s not able to trace it.
Am i missing something to set the path for NDK?
Please help
Thanks
I trace in ndk source for version android-ndk-r8d, file platforms/android-9/arch-arm/usr/include/SLES/OpenSLES_AndroidConfiguration.h:
Line 20:
I think, it is better to define like that:
I move all define in platforms/android-9/arch-arm/usr/include/SLES/OpenSLES_AndroidConfiguration.h to pjmedia/src//pjmedia-audiodev/opensl_dev.c and it works fine. But this is not good solution.