AndroidNDKでSoundTouchlibをコンパイルしようとしています。このlibをandroidでコンパイルするようにHereから指示を受けました。
しかし、コマンドを使用してコンパイルしようとするとndk-build
、SoundTouchlibのさまざまなソースファイルに次のようなエラーが表示されます。
手順に記載されているように例外処理をオフにしようとしましたが、機能しないようです。
すべてのファイルをSoundTouchソースからプロジェクトのJNIフォルダーにコピーしました。これが私のandroid.mk
ファイルです:
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)
誰かがAndroidでSoundTouchlibをコンパイルして使用するのを手伝ってくれませんか?
アップデート :
android.mk
以下のようにファイルを変更しました
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)
そして今、それはすべてうまく機能しています。ありがとうございました