Gra*_*eme 19 android compiler-errors linker-errors android-ndk
在从同事添加一组代码后,我得到了这个输出:
./obj/local/armeabi/objs/jniWrapper/native.o: In function `_Vector_base':
D:/opt/android-ndk/sources/cxx-stl/stlport/stlport/stl/_vector.h:73: undefined reference to `__cxa_end_cleanup'
./obj/local/armeabi/objs/jniWrapper/native.o:(.ARM.extab.text._ZNSt6vectorIhSaIhEEC1ERKS1_[std::vector<unsigned char, std::allocator<unsigned char> >::vector(std::vector<unsigned char, std::allocator<unsigned char> > const&)]+0x0): undefined reference to `__gxx_personality_v0'
./obj/local/armeabi/objs/jniWrapper/native.o: In function `std::__node_alloc::deallocate(void*, unsigned int)':
D:/opt/android-ndk/sources/cxx-stl/stlport/stlport/stl/_alloc.h:161: undefined reference to `__cxa_end_cleanup'
./obj/local/armeabi/objs/jniWrapper/native.o:(.ARM.extab.text._ZNSt4priv12_String_baseIcSaIcEED2Ev[std::priv::_String_base<char, std::allocator<char> >::~_String_base()]+0x0): undefined reference to `__gxx_personality_v0'
./obj/local/armeabi/objs/jniWrapper/native.o: In function `basic_string':
D:/opt/android-ndk/sources/cxx-stl/stlport/stlport/stl/_string.c:643: undefined reference to `__cxa_end_cleanup'
Run Code Online (Sandbox Code Playgroud)
这是因为我无法访问正确的STL.
据我所知,只有三个,我可以从(选择stlport_static,stlport_shared,system)通过设置APP_STL := stlport_static在Application.mk.
NDK还有另一个库可用吗?
Gra*_*eme 27
阅读后android-ndk/docs/CPLUSPLUS-SUPPORT.html我发现还有一些我可以链接到的库:
C++ C++ Standard
Exceptions RTTI Library
system no no no
gabi++ no yes no
stlport no yes yes
gnustl yes yes yes
Run Code Online (Sandbox Code Playgroud)
这会阻止我的链接器错误(并将构建推送到一组新的错误:))
Application.mk
APP_STL := gnustl_static
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22025 次 |
| 最近记录: |