1. ホーム
  2. アンドロイド

android studio build reports error: undefined reference to 'std::

2022-02-23 23:36:34

Error:error: 'std::logic_error::logic_error(char const*)' への未定義の参照。



Error:error: 'std::logic_error::logic_error(char const*)' への未定義の参照です。



Error:error: 'std::logic_error::logic_error(char const*)' への未定義の参照です。



Error:error: 'std::logic_error::logic_error(char const*)' への未定義の参照です。



Error:error: 'std::__ndk1::ios_base::init(void*)' への未定義の参照。



Error:error: 'std::__ndk1::locale::locale()' への未定義の参照



Error:error: 'std::__ndk1::ios_base::getloc() const' への未定義の参照。



Error:error: 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const' への未定義の参照です。



Error:error: 'std::__ndk1::locale::~locale()' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::getloc() const' への未定義の参照。



Error:error: 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const' への未定義の参照です。



Error:error: 'std::__ndk1::locale::~locale()' への未定義の参照。



Error:error: 'std::__ndk1::locale::~locale()' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::~ios_base()' への未定義の参照です。



Error:error: 'std::__ndk1::locale::~locale()' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::~ios_base()' への未定義の参照です。



Error:error: 'std::__ndk1::ctype<char>::id' への未定義の参照です。



Error:error: 'std::__ndk1::ctype<char>::id' への未定義の参照です。



Error:error: 'std::__ndk1::ios_base::~ios_base()' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::~ios_base()' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::init(void*)' への未定義の参照。



Error:error: 'std::__ndk1::locale::locale()' への未定義の参照



Error:error: 'std::__ndk1::ios_base::init(void*)' への未定義の参照。



Error:error: 'std::__ndk1::locale::locale()' への未定義の参照



Error:error: 'std::__ndk1::ios_base::getloc() const' への未定義の参照。



Error:error: 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const' への未定義の参照です。



Error:error: 'std::__ndk1::ios_base::clear(unsigned int)' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()' への未定義の参照です。



Error:error: 'std::__ndk1::ctype<char>::id' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::clear(unsigned int)' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::clear(unsigned int)'への未定義の参照



Error:error: 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()' への未定義の参照です。



Error:error: 'std::__ndk1::ios_base::clear(unsigned int)' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()' への未定義の参照です。



Error:error: 'std::__ndk1::ios_base::init(void*)' への未定義の参照。



Error:error: 'std::__ndk1::locale::locale()' への未定義の参照



Error:error: 'std::__ndk1::ios_base::getloc() const' への未定義の参照。



Error:error: 'std::__ndk1::locale::use_facet(std::__ndk1::locale::id&) const' への未定義の参照です。



Error:error: 'std::__ndk1::ctype<char>::id' への未定義の参照。



Error:error: 'std::__ndk1::ios_base::__set_badbit_and_consider_rethrow()' への未定義の参照です。



Error:error: 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits< ;char> > >::id' への未定義の参照です。



Error:error: 'std::__ndk1::locale::locale(std::__ndk1::locale const&)' への未定義の参照です。



Error:error: 'std::__ndk1::locale::has_facet(std::__ndk1::locale::id&) const' への未定義の参照です。



Error:error: 'std::__ndk1::locale::locale(std::__ndk1::locale const&)' への未定義な参照。



Error:error: 'std::__ndk1::codecvt<char, char, mbstate_t>::id' への未定義の参照。



Error:error: 'std::__ndk1::codecvt<char, char, mbstate_t>::id' への未定義の参照です。



Error:error: 'std::__ndk1::codecvt<char, char, mbstate_t>::id' への未定義の参照です。



Error:error: 'std::bad_cast::bad_cast()' への未定義の参照



Error:error: 'std::bad_cast::bad_cast()' への未定義の参照です。



Error:error: 'std::bad_cast::bad_cast()' への未定義の参照です。



Error:error: 'std::bad_cast::bad_cast()' への未定義の参照です。



Error:error: 'std::__ndk1::cerr' への未定義の参照



Error:error: 'std::__ndk1::cout' への未定義の参照



Error:error: 'std::__ndk1::cerr' への未定義の参照



Error:error: 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits< ;char> > &g;::id' への未定義の参照。



Error:error: 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits< ;char> >;::id' への未定義の参照です。



Error:error: 'std::__ndk1::num_put<char, std::__ndk1::ostreambuf_iterator<char, std::__ndk1::char_traits< ;char> >;::id' への未定義の参照です。



Error:error: 'std::exception_ptr::~exception_ptr()' への未定義の参照。



Error:error: 'std::exception_ptr::exception_ptr(std::exception_ptr const&)'への未定義な参照



Error:error: 'std::rethrow_exception(std::exception_ptr)' への未定義の参照。



Error:error: 'std::exception_ptr::~exception_ptr()' への未定義の参照。



Error:error: 'std::exception_ptr::~exception_ptr()' への未定義の参照。



Error:error: 'std::exception_ptr::operator=(std::exception_ptr const&)'への未定義の参照。



Error:error: 'std::exception_ptr::~exception_ptr()' への未定義の参照。



Error:error: 'std::__ndk1::num_get<char, std::__ndk1::istreambuf_iterator<char, std::__ndk1::char_traits< ;char> > >::id' への未定義の参照です。



Error:error: 'std::exception_ptr::exception_ptr(std::exception_ptr const&)'への未定義の参照。



Error:error: 'std::rethrow_exception(std::exception_ptr)' への未定義の参照。



Error:error: 'std::exception_ptr::exception_ptr(std::exception_ptr const&)'への未定義の参照。



Error:error: 'std::rethrow_exception(std::exception_ptr)' への未定義の参照。



Error:error: 'std::exception_ptr::exception_ptr(std::exception_ptr const&)'への未定義の参照。



Error:error: 'std::rethrow_exception(std::exception_ptr)' への未定義の参照。



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::bad_alloc::bad_alloc()' への未定義の参照



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::runtime_error::runtime_error(char const*)' への未定義の参照です。



Error:error: 'std::bad_alloc::bad_alloc()' への未定義の参照。



Error:error: 'std::__ndk1::cerr' への未定義の参照



Error:error: Linker command failed with exit code 1 (use -v to see invocation) リンカーのコマンドは終了コード1で失敗しました。

https://stackoverflow.com/questions/49183886/error-undefined-reference-to-std-ndk1localelocale

このURLを参照すると、gnustlは時代遅れで、c++_sharedを使うべきだということなので、コンパイルして渡されたApplication.mkのAPP_STL := gnustl_static をAPP_STL := c++_sharedに変更します。