Portál AbcLinuxu, 15. května 2025 21:32
Nazdar, na PC mam rozbite g++ - tusite, kde moze byt problem? Najmensi reproducer:
$ cat /tmp/a.cpp #include <string> int main() { return 0; }
Vystup:
$ g++ /tmp/a.cpp
In file included from /usr/include/c++/9/bits/stl_iterator.h:66,
from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/bits/char_traits.h:39,
from /usr/include/c++/9/string:40,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/ptr_traits.h:144:14: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
144 | static _GLIBCXX20_CONSTEXPR pointer
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/ext/new_allocator.h:33,
from /usr/include/x86_64-linux-gnu/c++/8/bits/c++allocator.h:33,
from /usr/include/c++/9/bits/allocator.h:46,
from /usr/include/c++/9/string:41,
from /tmp/a.cpp:1:
/usr/include/c++/9/new:125:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
125 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/new:127:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
127 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/new:139:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
139 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/new:141:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
141 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/new:173:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
173 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/new:175:1: error: ‘_GLIBCXX_NODISCARD’ does not name a type
175 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/8/bits/c++allocator.h:33,
from /usr/include/c++/9/bits/allocator.h:46,
from /usr/include/c++/9/string:41,
from /tmp/a.cpp:1:
/usr/include/c++/9/ext/new_allocator.h:79:7: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
79 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ext/new_allocator.h:82:7: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
82 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ext/new_allocator.h:86:2: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
86 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/ext/new_allocator.h:101:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
101 | _GLIBCXX_NODISCARD pointer
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/string:41,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/allocator.h:137:7: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
137 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/allocator.h:140:7: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
140 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/allocator.h:150:2: error: ‘_GLIBCXX20_CONSTEXPR’ does not name a type
150 | _GLIBCXX20_CONSTEXPR
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/ext/alloc_traits.h:36,
from /usr/include/c++/9/bits/basic_string.h:40,
from /usr/include/c++/9/string:55,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/alloc_traits.h:304:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
304 | _GLIBCXX_NODISCARD static pointer
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/alloc_traits.h:319:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
319 | _GLIBCXX_NODISCARD static pointer
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/alloc_traits.h:442:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
442 | _GLIBCXX_NODISCARD static pointer
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/alloc_traits.h:456:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
456 | _GLIBCXX_NODISCARD static pointer
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/string:55,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/basic_string.h:1030:7: error: ‘_GLIBCXX_NODISCARD’ does not name a type
1030 | _GLIBCXX_NODISCARD bool
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/bits/basic_string.h:40,
from /usr/include/c++/9/string:55,
from /tmp/a.cpp:1:
/usr/include/c++/9/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char>, char>’:
/usr/include/c++/9/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string<char>’
/usr/include/c++/9/bits/basic_string.h:6504:68: required from here
/usr/include/c++/9/ext/alloc_traits.h:66:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type {aka std::allocator_traits<std::allocator<char> >}::allocate’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char> >’}
66 | using _Base_type::allocate;
| ^~~~~~~~
/usr/include/c++/9/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>’:
/usr/include/c++/9/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string<wchar_t>’
/usr/include/c++/9/bits/basic_string.h:6610:68: required from here
/usr/include/c++/9/ext/alloc_traits.h:66:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>::_Base_type {aka std::allocator_traits<std::allocator<wchar_t> >}::allocate’ in ‘__gnu_cxx::__alloc_traits<std::allocator<wchar_t>, wchar_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<wchar_t> >’}
/usr/include/c++/9/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>’:
/usr/include/c++/9/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string<char16_t>’
/usr/include/c++/9/bits/basic_string.h:6784:41: required from here
/usr/include/c++/9/ext/alloc_traits.h:66:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>::_Base_type {aka std::allocator_traits<std::allocator<char16_t> >}::allocate’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char16_t> >’}
/usr/include/c++/9/ext/alloc_traits.h: In instantiation of ‘struct __gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>’:
/usr/include/c++/9/bits/basic_string.h:80:24: required from ‘class std::__cxx11::basic_string<char32_t>’
/usr/include/c++/9/bits/basic_string.h:6799:41: required from here
/usr/include/c++/9/ext/alloc_traits.h:66:23: error: no members matching ‘__gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>::_Base_type {aka std::allocator_traits<std::allocator<char32_t> >}::allocate’ in ‘__gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>::_Base_type’ {aka ‘struct std::allocator_traits<std::allocator<char32_t> >’}
In file included from /usr/include/c++/9/string:55,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = char*]’:
/usr/include/c++/9/bits/basic_string.h:553:73: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/9/bits/basic_string.h:6548:20: required from here
/usr/include/c++/9/bits/basic_string.h:193:49: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<char*>’
193 | return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = wchar_t*]’:
/usr/include/c++/9/bits/basic_string.h:553:73: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
/usr/include/c++/9/bits/basic_string.h:6651:22: required from here
/usr/include/c++/9/bits/basic_string.h:193:49: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<wchar_t*>’
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = char16_t*]’:
/usr/include/c++/9/bits/basic_string.h:512:41: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/basic_string.h:6839:49: required from here
/usr/include/c++/9/bits/basic_string.h:193:49: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<char16_t*>’
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = char32_t*]’:
/usr/include/c++/9/bits/basic_string.h:512:41: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/basic_string.h:6844:49: required from here
/usr/include/c++/9/bits/basic_string.h:193:49: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<char32_t*>’
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer = const char*]’:
/usr/include/c++/9/bits/basic_string.h:222:26: required from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/9/bits/basic_string.h:555:12: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/9/bits/basic_string.h:6548:20: required from here
/usr/include/c++/9/bits/basic_string.h:203:55: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<const char*>’
203 | return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() const [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer = const wchar_t*]’:
/usr/include/c++/9/bits/basic_string.h:222:26: required from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
/usr/include/c++/9/bits/basic_string.h:555:12: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; _Alloc = std::allocator<wchar_t>]’
/usr/include/c++/9/bits/basic_string.h:6651:22: required from here
/usr/include/c++/9/bits/basic_string.h:203:55: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<const wchar_t*>’
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer = const char16_t*]’:
/usr/include/c++/9/bits/basic_string.h:222:26: required from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
/usr/include/c++/9/bits/basic_string.h:555:12: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
/usr/include/c++/9/bits/basic_string.h:6839:49: required from here
/usr/include/c++/9/bits/basic_string.h:203:55: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<const char16_t*>’
/usr/include/c++/9/bits/basic_string.h: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_local_data() const [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_pointer = const char32_t*]’:
/usr/include/c++/9/bits/basic_string.h:222:26: required from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
/usr/include/c++/9/bits/basic_string.h:555:12: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
/usr/include/c++/9/bits/basic_string.h:6844:49: required from here
/usr/include/c++/9/bits/basic_string.h:203:55: error: ‘pointer_to’ is not a member of ‘std::pointer_traits<const char32_t*>’
In file included from /usr/include/c++/9/string:56,
from /tmp/a.cpp:1:
/usr/include/c++/9/bits/basic_string.tcc: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_create(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = char16_t*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’:
/usr/include/c++/9/bits/basic_string.tcc:219:14: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator, std::forward_iterator_tag) [with _FwdIterator = const char16_t*; _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
/usr/include/c++/9/bits/basic_string.h:247:11: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct_aux(_InIterator, _InIterator, std::__false_type) [with _InIterator = const char16_t*; _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
/usr/include/c++/9/bits/basic_string.h:266:4: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator) [with _InIterator = const char16_t*; _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>]’
/usr/include/c++/9/bits/basic_string.h:513:9: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char16_t; _Traits = std::char_traits<char16_t>; _Alloc = std::allocator<char16_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/basic_string.h:6839:49: required from here
/usr/include/c++/9/bits/basic_string.tcc:153:37: error: ‘allocate’ is not a member of ‘std::__cxx11::basic_string<char16_t>::_Alloc_traits’ {aka ‘__gnu_cxx::__alloc_traits<std::allocator<char16_t>, char16_t>’}
153 | return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/basic_string.tcc: In instantiation of ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_create(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer = char32_t*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’:
/usr/include/c++/9/bits/basic_string.tcc:219:14: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator, std::forward_iterator_tag) [with _FwdIterator = const char32_t*; _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
/usr/include/c++/9/bits/basic_string.h:247:11: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct_aux(_InIterator, _InIterator, std::__false_type) [with _InIterator = const char32_t*; _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
/usr/include/c++/9/bits/basic_string.h:266:4: required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator) [with _InIterator = const char32_t*; _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>]’
/usr/include/c++/9/bits/basic_string.h:513:9: required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char32_t; _Traits = std::char_traits<char32_t>; _Alloc = std::allocator<char32_t>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/9/bits/basic_string.h:6844:49: required from here
/usr/include/c++/9/bits/basic_string.tcc:153:37: error: ‘allocate’ is not a member of ‘std::__cxx11::basic_string<char32_t>::_Alloc_traits’ {aka ‘__gnu_cxx::__alloc_traits<std::allocator<char32_t>, char32_t>’}
Detaily: Ubuntu 20.04.1 LTS (focal) "g++ --version" vracia "g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0" (+GNU reci)
Řešení dotazu:
$ cat a.cpp #include <string> int main() { return 0; } $ $ g++ a.cpp $ g++ --version g++ (Debian 9.3.0-16) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
g++
. _GLIBCXX_NODISCARD
je nejspíš atribut [[nodiscard]]
, _GLIBCXX20_CONSTEXPR
je constexpr
. Našel jsem třeba nějaký náhodný zdroják, kde (CTRL+F _GLIBCXX20_CONSTEXPR
):
#ifndef _GLIBCXX20_CONSTEXPR # if __cplusplus > 201703L # define _GLIBCXX20_CONSTEXPR constexprTakže je otázka, proč ty tam tyhle definice nemáš (i když jinde se tam používají) a kompilátor tomu nerozumí. Zkus
g++
prostě přeinstalovat (a případně předtím ještě promazat ty hlavičkové soubory).
Diky moc, toto nakoniec nepriamo pomohlo.
Preinstalovat g++ nepomohlo - ale mas dobry postreh a vsimol si si, ze mam premiesane hlavickove subory. Tak som odinstaloval libgcc-8-dev a libgcc-7-dev (a vsetko, co na tom zaviselo) a kompilacia uz ide.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.