Cloud_Lee 发表于 2014-8-9 18:04:48

android ndk9编译osg的问题

E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function osgDB::ReaderWriter::openArchive(std::string const&, osgDB::ReaderWriter::ArchiveStatus, unsigned int, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:216: error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function osgDB::ReaderWriter::openArchive(std::istream&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:219: error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function osgDB::ReaderWriter::readHeightField(std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:223: error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function osgDB::ReaderWriter::readNode(std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:224: error: undefined reference to 'std::string::_Rep::_S_empty_rep_storage'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function ReaderWriterDDS::writeImage(osg::Image const&, std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1445: error: undefined reference to 'std::basic_ofstream<char, std::char_traits<char> >::close()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function ReaderWriterDDS::writeImage(osg::Image const&, std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:168: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function ReaderWriterDDS::writeImage(osg::Image const&, std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1448: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function ReaderWriterDDS::writeImage(osg::Image const&, std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/include/osgDB/ReaderWriter:168: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function ReaderWriterDDS::writeImage(osg::Image const&, std::string const&, osgDB::Options const*) const:G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1448: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function osg::Object::setName(std::string const&):E:/android/android-ndk-r9-windows-x86/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/include/bits/basic_string.h:542: error: undefined reference to 'std::string::assign(std::string const&)'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_M_allocate(unsigned int) :E:/android/android-ndk-r9-windows-x86/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/include/ext/new_allocator.h:90: error: undefined reference to 'std::__throw_bad_alloc()'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function WriteDDSFile(osg::Image const*, std::ostream&, bool):G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1239: error: undefined reference to 'std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function WriteDDSFile(osg::Image const*, std::ostream&, bool):G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1246: error: undefined reference to 'std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
E:/android/android-ndk-r9-windows-x86/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: G:/cygwin/usr/local/obj/local/armeabi/libosgdb_dds.a(ReaderWriterDDS.o): in function WriteDDSFile(osg::Image const*, std::ostream&, bool):G:/OpenSceneGraph-3.2.1-rc3/src/osgPlugins/dds/ReaderWriterDDS.cpp:1259: error: undefined reference to 'std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'


传不了图片,只能这么看了,望大神们见谅

Cloud_Lee 发表于 2014-8-9 21:00:23

问题解决了,是stl的问题,在Android.mk中加入$(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/libgnustl_static.a,不能加-lgnustl_static
页: [1]
查看完整版本: android ndk9编译osg的问题