Re: compiling a static executable using stlport

183 views
Skip to first unread message

Glenn Kasten

unread,
Apr 29, 2013, 6:28:58 PM4/29/13
to android-...@googlegroups.com
Although you're building a command-line main for platform, not a .so as is typical for NDK,
you might still want to check out the android-ndk group ... There are some STL users in that group,
who may be able to help if you don't get an answer here.



On Monday, April 29, 2013 1:05:53 PM UTC-7, Chris wrote:
I'm trying to build a static application using static libstlport on a 4.2.1 branch of AOSP.  I've attached a simplified Hello World example (cpp and makefile) that gives the same errors.  I'm not sure what I am doing wrong in the Makefile.  Here is the build errors:


target StaticExecutable: test (out/target/product/sabresd_6dq/obj/EXECUTABLES/test_intermediates/LINKED/test)
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(ios.o): in function std::ios_base::~ios_base():external/stlport/src/ios.cpp:302: error: undefined reference to 'operator delete(void*)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::~basic_ostream():external/stlport/stlport/stl/_ostream.c:44: error: undefined reference to 'operator delete(void*)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::basic_istream<wchar_t, std::char_traits<wchar_t> >::~basic_istream():external/stlport/stlport/stl/_istream.h:90: error: undefined reference to 'operator delete(void*)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::basic_ios<wchar_t, std::char_traits<wchar_t> >::~basic_ios():external/stlport/stlport/stl/_ios.h:59: error: undefined reference to 'operator delete(void*)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::_Stl_create_wfilebuf(__sFILE*, int):external/stlport/src/iostream.cpp:181: error: undefined reference to 'operator new(unsigned int)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::basic_filebuf<char, std::char_traits<char> >* std::_Stl_create_filebuf<__sFILE*>(__sFILE*, int):external/stlport/src/iostream.cpp:169: error: undefined reference to 'operator new(unsigned int)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::ios_base::_S_initialize():external/stlport/src/iostream.cpp:203: error: undefined reference to 'operator new(unsigned int)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(iostream.o): in function std::ios_base::_S_initialize():external/stlport/src/iostream.cpp:213: error: undefined reference to 'operator new(unsigned int)'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::Init::_M_count() const:external/stlport/src/locale_impl.cpp:70: error: undefined reference to '__cxa_guard_acquire'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::Init::_M_count() const:external/stlport/src/locale_impl.cpp:70: error: undefined reference to '__cxa_guard_release'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::make_classic_locale():external/stlport/src/locale_impl.cpp:667: error: undefined reference to '__cxa_guard_acquire'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::make_classic_locale():external/stlport/src/locale_impl.cpp:667: error: undefined reference to '__cxa_guard_release'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::make_classic_locale():external/stlport/src/locale_impl.cpp:670: error: undefined reference to '__cxa_guard_acquire'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Locale_impl::make_classic_locale():external/stlport/src/locale_impl.cpp:670: error: undefined reference to '__cxa_guard_release'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Stl_get_global_locale():external/stlport/src/locale_impl.cpp:604: error: undefined reference to '__cxa_guard_acquire'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(locale_impl.o): in function std::_Stl_get_global_locale():external/stlport/src/locale_impl.cpp:604: error: undefined reference to '__cxa_guard_release'
/home/chris/aosp/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/libstlport_static_intermediates/libstlport_static.a(ctype.o): in function std::ctype<char>::~ctype():external/stlport/src/ctype.cpp:324: error: undefined reference to 'operator delete[](void*)'
Reply all
Reply to author
Forward
0 new messages