stdexcept V systému Android

hlasů
5

Snažím se sestavit SoundTouch na Android. Začal jsem s tímto configure:

./configure CPPFLAGS = - I / Volumes / android-build / myDroid / vývoj / NDK / build / platformy / android-3 / oblouk ramenem / usr / include / LDFLAGS = - Wl, -rpath-link = / Svazky / android-build / myDroid / vývoj / NDK / build / platformy / android-3 / oblouk ramenem / usr / lib -L / Volumes / android-build / myDroid / vývoj / NDK / build / platformy / android-3 / arch ramenem / usr / lib -nostdlib -lc“--host = arm-EABI --enable-shared = ano CFLAGS = - nostdlib -O3 -mandroid host_alias = rameno-EABI -no vytvořit --no- rekurze

Vzhledem k tomu, Android NDK se zaměřuje na ARM, také jsem musel změnit Makefile odebrat -msse2 vlajky k pokroku.

Když spustím ‚make‘, jsem si:

/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

To není příliš překvapivé, protože bylo požadováno -nostdlib vlajky. Android se zdá, že ani stdexcept ani stdlib. Jak mohu získat kolem tohoto bloku sestavení SoundTouch?

Odhadem, může tam být nějaký příznak Nevím o tom mám použít. Mohl bych refaktorovat kód nepoužívat stdexcept. Může existovat způsob, jak vytáhnout v původním zdroji stdexcept a reference to. Mohl bych být schopen propojit předkompilovaný knihovny stdexcept.

Položena 23/04/2010 v 17:06
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Výchozí předpokladu verze gcc opatřena android NdK nepodporuje výjimky. Viz http://www.crystax.net/android/ndk.php alternativní verzi, která dělá.

Odpovězeno 31/05/2010 v 19:30
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more