Vipul Purohit Vipul Purohit - 3 months ago 14
Android Question

Android : Help in compiling SoundTouch lib in android

I am trying to compile the SoundTouch lib with Android NDK. I got some instruction from Here to compile this lib in android.

But when I try to compile it with

ndk-build
command it show errors in various source files of SoundTouch lib something like this: enter image description here

I tried to Switch off exception handling as mentioned in the instructions but it doesn't seems to work.

I copied all the files from SoundTouch source to JNI folder of my project. Here is my
android.mk
file :

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_CFLAGS :- -frtti -fexceptions

LOCAL_SRC_FILES := AAFilter.cpp BPMDetect.cpp cpu_detect_x86.cpp FIFOSampleBuffer.cpp FIRFilter.cpp main.cpp mmx_optimized.cpp PeakFinder.cpp RateTransposer.cpp RunParameters.cpp SoundTouch.cpp sse_optimized.cpp TDStretch.cpp WavFile.cpp

LOCAL_LDLIBS := -lpcap

LOCAL_MODULE := libSoundTouch

LOCAL_C_INCLUDES := BPMDetect.h FIFOSampleBuffer.h FIFOSamplePipe.h SoundTouch.h STTypes.h

include $(BUILD_SHARED_LIBRARY)


Can anyone please help me to compile and use SoundTouch lib on android?

UPDATE :

I changed my
android.mk
file as below

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_CPP_FEATURES += -fno-exceptions

LOCAL_SRC_FILES := \
SoundTouch/AAFilter.cpp \
SoundTouch/BPMDetect.cpp \
SoundTouch/cpu_detect_x86.cpp\
SoundTouch/FIFOSampleBuffer.cpp \
SoundTouch/FIRFilter.cpp \
SoundTouch/mmx_optimized.cpp \
SoundTouch/PeakFinder.cpp \
SoundTouch/RateTransposer.cpp \
SoundTouch/SoundTouch.cpp \
SoundTouch/sse_optimized.cpp \
SoundTouch/TDStretch.cpp

LOCAL_MODULE := libSoundTouch

LOCAL_C_INCLUDES := include/BPMDetect.h include/FIFOSampleBuffer.h include/FIFOSamplePipe.h include/SoundTouch.h include/STTypes.h

include $(BUILD_SHARED_LIBRARY)


And now its working all fine. Thank you

Answer

I have successfully compiled by changing my android.mk file :

here is my android.mk file

include $(CLEAR_VARS)
LOCAL_PATH:= $(call my-dir)

LOCAL_CPP_FEATURES += -fno-exceptions

LOCAL_SRC_FILES := \
     SoundTouch/AAFilter.cpp \
     SoundTouch/BPMDetect.cpp \
     SoundTouch/cpu_detect_x86.cpp\
      SoundTouch/FIFOSampleBuffer.cpp \
      SoundTouch/FIRFilter.cpp \
      SoundTouch/mmx_optimized.cpp \
      SoundTouch/PeakFinder.cpp \
      SoundTouch/RateTransposer.cpp \
      SoundTouch/SoundTouch.cpp \
      SoundTouch/sse_optimized.cpp \
      SoundTouch/TDStretch.cpp 

LOCAL_MODULE := libSoundTouch

LOCAL_C_INCLUDES := include/BPMDetect.h include/FIFOSampleBuffer.h include/FIFOSamplePipe.h include/SoundTouch.h include/STTypes.h

include $(BUILD_SHARED_LIBRARY)
Comments