Missing references when building .so

60 views
Skip to first unread message

Daegon Kim

unread,
May 14, 2017, 6:17:09 AM5/14/17
to crystax-ndk
Hi, I'm currently trying to compile a .so file. I start ndk-build and each individual file seems to compile just fine, but at the end I'm faced with a long list of undefined reference errors.
It seems as if a lot of the parts of the standard library just aren't being found - any possible solutions?

Error message (shortened):

[armeabi] Compile++ thumb: main <= Mixer.cc
[armeabi] Compile++ thumb: main <= Music.cc
[armeabi] Compile++ thumb: main <= SDLMixer.cc
[armeabi] SharedLibrary  : libmain.so
jni/src/../../../Engine/External/pugixml/pugixml.hpp:305: error: undefined reference to 'operator delete(void*, unsigned int)'
jni/src/../../../Engine/External/pugixml/pugixml.hpp:291: error: undefined reference to 'operator delete(void*, unsigned int)'
jni/src/../../../Engine/External/pugixml/pugixml.hpp:1228: error: undefined reference to 'operator delete(void*, unsigned int)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:5030: error: undefined reference to 'std::__1::basic_ostream<char, std::__1::char_traits<char> >::write(char const*, int)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:5037: error: undefined reference to 'std::__1::basic_ostream<wchar_t, std::__1::char_traits<wchar_t> >::write(wchar_t const*, int)'
C:/Users/hsdk.bd/Desktop/dev-rel/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/string:1438: error: undefined reference to 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::resize(unsigned int, wchar_t)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:2312: error: undefined reference to 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::~basic_string()'
C:/Users/hsdk.bd/Desktop/dev-rel/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/string:1438: error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned int, char)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:2288: error: undefined reference to 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:5048: error: undefined reference to 'operator delete(void*, unsigned int)'
C:/Users/hsdk.bd/Desktop/dev-rel/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/string:1438: error: undefined reference to 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::resize(unsigned int, wchar_t)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:6106: error: undefined reference to 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::~basic_string()'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:6106: error: undefined reference to 'std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >::~basic_string()'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4914: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::tellg()'
C:/Users/hsdk.bd/Desktop/dev-rel/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/ios:588: error: undefined reference to 'std::__1::ios_base::clear(unsigned int)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4833: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::read(wchar_t*, int)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4871: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::tellg()'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4872: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::seekg(long long, std::__1::ios_base::seekdir)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4873: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::tellg()'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4874: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::seekg(std::__1::fpos<__mbstate_t>)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4889: error: undefined reference to 'std::__1::basic_istream<wchar_t, std::__1::char_traits<wchar_t> >::read(wchar_t*, int)'
jni/src/../../../Engine/External/pugixml/pugixml.cpp:4914: error: undefined reference to 'std::__1::basic_istream<char, std::__1::char_traits<char> >::tellg()'
C:/Users/hsdk.bd/Desktop/dev-rel/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/ios:588: error: undefined reference to 'std::__1::ios_base::clear(unsigned int)'

(...)

./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::codecvt_utf8<wchar_t, 1114111ul, (std::__1::codecvt_mode)4>: error: undefined reference to 'std::__1::__codecvt_utf8<wchar_t>::do_always_noconv() const'
./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::codecvt_utf8<wchar_t, 1114111ul, (std::__1::codecvt_mode)4>: error: undefined reference to 'std::__1::__codecvt_utf8<wchar_t>::do_length(__mbstate_t&, char const*, char const*, unsigned int) const'
./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::codecvt_utf8<wchar_t, 1114111ul, (std::__1::codecvt_mode)4>: error: undefined reference to 'std::__1::__codecvt_utf8<wchar_t>::do_max_length() const'
./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::__shared_ptr_emplace<lvn::NRenderable, std::__1::allocator<lvn::NRenderable> >: error: undefined reference to 'std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const'
./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::__shared_ptr_emplace<lvn::NTextbox, std::__1::allocator<lvn::NTextbox> >: error: undefined reference to 'std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const'
./obj/local/armeabi/objs/main/__/__/__/Engine/LvnParser/Parser.o:Parser.cpp:vtable for std::__1::__shared_ptr_emplace<SDL2pp::Font, std::__1::allocator<SDL2pp::Font> >: error: undefined reference to 'std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const'
collect2.exe: error: ld returned 1 exit status
make.exe: *** [obj/local/armeabi/libmain.so] Error 1


Reply all
Reply to author
Forward
0 new messages