मैं एंड्रॉइड पर साउंड टच संकलित करने की कोशिश कर रहा हूं। मैंने इस कॉन्फ़िगरेशन लाइन से शुरुआत की:एंड्रॉइड पर stdexcept
./configure CPPFLAGS = "- I/वॉल्यूम/एंड्रॉइड-बिल्ड/mydroid/विकास/ndk/build/platforms/android-3/arch-arm/usr/include /" एलडीएफएलजीएस = "- WL, -rpath-link =/वॉल्यूम/एंड्रॉइड-बिल्ड/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/lib -L/वॉल्यूम/एंड्रॉइड-बिल्ड/mydroid/विकास/ndk/build/platforms/android-3/arch-arm/usr/lib -nostdlib -lc "--host = arm-eabi --enable-shared = yes CFLAGS =" - nostdlib -O3 -mandroid "host_alias = arm -एबी --no-create --no-recursion
क्योंकि एंड्रॉइड एनडीके एआरएम को लक्षित करता है, इसलिए मुझे प्रगति के लिए -msse2 झंडे को हटाने के लिए मेकफ़ाइल को भी बदलना पड़ा।
जब मैं 'मेक' चलाने के लिए, मैं:
/bin/sh ../../libtool --tag=CXX --mode=compile arm-eabi-g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/include/ -O3 -fcheck-new -I../../include -g -O2 -MT FIRFilter.lo -MD -MP -MF .deps/FIRFilter.Tpo -c -o FIRFilter.lo FIRFilter.cpp
libtool: compile: arm-eabi-g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -I/Volumes/android-build/mydroid/development/ndk/build/platforms/android-3/arch-arm/usr/include/ -O3 -fcheck-new -I../../include -g -O2 -MT FIRFilter.lo -MD -MP -MF .deps/FIRFilter.Tpo -c FIRFilter.cpp -o FIRFilter.o
FIRFilter.cpp:46:21: error: stdexcept: No such file or directory
FIRFilter.cpp: In member function 'virtual void soundtouch::FIRFilter::setCoefficients(const soundtouch::SAMPLETYPE*, uint, uint)':
FIRFilter.cpp:177: error: 'runtime_error' is not a member of 'std'
FIRFilter.cpp: In static member function 'static void* soundtouch::FIRFilter::operator new(size_t)':
FIRFilter.cpp:225: error: 'runtime_error' is not a member of 'std'
make[2]: *** [FIRFilter.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
इस के बाद से -nostdlib झंडा आवश्यक था, बहुत आश्चर्य की बात नहीं है। ऐसा लगता है कि एंड्रॉइड न तो stdexcept और न ही stdlib है। मैं SoundTouch संकलन के इस ब्लॉक को कैसे प्राप्त कर सकता हूं?
अनुमान में, कुछ ध्वज हो सकता है जो मुझे नहीं पता कि मुझे इसका उपयोग करना चाहिए। मैं कोड को दोहरा सकता हूं कि stdexcept का उपयोग न करें। मूल stdexcept स्रोत और संदर्भ में खींचने का एक तरीका हो सकता है। मैं एक precompiled stdexcept पुस्तकालय से जोड़ने में सक्षम हो सकता है।