Does anybody have an idea of what I'm doing wrong?

Il giorno martedì 11 dicembre 2012 11:00:31 UTC+1, rb ha scritto:
>
> Hi,
>
> I have some problem linking the STL in my Native application. Linking 
> fails with both map::operator[] and map::insert while succeeds with other 
> map functions.
> My Application.mk is :
>
> APP_STL := gnustl_static
> APP_CPPFLAGS := -fexceptions -frtti
> APP_CPPFLAGS += -g3
> APP_CPPFLAGS += -DDEBUG
> APP_ABI := armeabi-v7a
> APP_PLATFORM:=android-14
> NDK_TOOLCHAIN_VERSION:=4.6
>
> The native code contains two folder level. I created for each internal 
> folder an Android.mk file to compile and generate a static library. I'm 
> using std::map in the deepest folder. Android.mk looks like:
>
> TEMP_PATH_REG := $(call my-dir)
> LOCAL_PATH := $(TEMP_PATH_REG)
> include $(call all-subdir-makefiles)
> LOCAL_PATH := $(TEMP_PATH_REG)
> include $(CLEAR_VARS)
>
> LOCAL_MODULE            := registration
> LOCAL_C_INCLUDES     := $(LOCAL_PATH)/../glm/
> LOCAL_SRC_FILES        := registration_factory.cpp \
>                                           inertial.cpp                    
>                     
> LOCAL_LDLIBS               := -llog -landroid -lEGL
> LOCAL_STATIC_LIBRARIES     := android_native_app_glue
> include $(BUILD_STATIC_LIBRARY)
> $(call import-module,android/native_app_glue)
>
> When I build the project i get the following errors:
>
> ~/.android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>  
> ./obj/local/armeabi-v7a/libregistration.a(registration_factory.o): in 
> function std::_Rb_tree<int, std::pair<int const, xmar::IRegistration*>, 
> std::_Select1st<std::pair<int const, xmar::IRegistration*> >, 
> std::less<int>, std::allocator<std::pair<int const, xmar::IRegistration*> > 
> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base 
> const*, std::pair<int const, xmar::IRegistration*> 
> const&):~/.android-ndk-r8c/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/stl_tree.h:1013:
>  
> error: undefined reference to 'std::_Rb_tree_insert_and_rebalance(bool, 
> std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, 
> std::_Rb_tree_node_base&)'
> StaticLibrary  : libandroid_native_app_glue.a
> rm -f obj/local/armeabi-v7a/libandroid_native_app_glue.a
> ~/.android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>  
> ./obj/local/armeabi-v7a/libregistration.a(registration_factory.o): in 
> function std::_Rb_tree_const_iterator<std::pair<int const, 
> xmar::IRegistration*> 
> >::operator--():~/.android-ndk-r8c/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/stl_tree.h:284:
> > 
> error: undefined reference to 
> 'std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)'
> ~/.android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-ar
>  
> crs ./obj/local/armeabi-v7a/libandroid_native_app_glue.a 
> ./obj/local/armeabi-v7a/objs-debug/android_native_app_glue/android_native_app_glue.o
> ~/.android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>  
> ./obj/local/armeabi-v7a/libregistration.a(registration_factory.o): in 
> function std::_Rb_tree_const_iterator<std::pair<int const, 
> xmar::IRegistration*> 
> >::operator++():~/.android-ndk-r8c/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/stl_tree.h:269:
> > 
> error: undefined reference to 
> 'std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
> Prebuilt       : libgnustl_static.a <= 
> <NDK>/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/
> ~/.android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:
>  
> ./obj/local/armeabi-v7a/libregistration.a(registration_factory.o): in 
> function std::_Rb_tree_iterator<std::pair<int const, xmar::IRegistration*> 
> >::operator--():~/.android-ndk-r8c/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/stl_tree.h:203:
> > 
> error: undefined reference to 
> 'std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
>
> What i'm doig wrong?
> Thanks a lot.
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to