при компиляции c++ файла с помощью g++ выдает ошибку(«errno» is defined in header «»), steamos-linux, как пофиксить?

введите сюда описание изображенияsteamos основана на arch linux компилирую на steamos

код:

//main.cpp
#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World";
    return 0;
}

компилирую командой: g++ main.cpp -o wrk

ошибка на фото + текстом(чтобы при поиске выдавало):

from main.cpp:1:
/usr/include/c++/13.2.1/ext/string_conversions.h: In constructor «__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::_Save_errno()»:
/usr/include/c++/13.2.1/ext/string_conversions.h:67:34: ошибка: нет декларации «errno» в этой области видимости
   67 |         _Save_errno() : _M_errno(errno) { errno = 0; }
      |                                  ^~~~~
/usr/include/c++/13.2.1/ext/string_conversions.h:49:1: замечание: «errno» is defined in header «<cerrno>»; did you forget to «#include <cerrno>»?
   48 | #include <cerrno>
  +++ |+#include <cerrno>
   49 | 
/usr/include/c++/13.2.1/ext/string_conversions.h: In destructor «__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::~_Save_errno()»:
/usr/include/c++/13.2.1/ext/string_conversions.h:68:30: ошибка: нет декларации «errno» в этой области видимости
   68 |         ~_Save_errno() { if (errno == 0) errno = _M_errno; }
      |                              ^~~~~
/usr/include/c++/13.2.1/ext/string_conversions.h:68:30: замечание: «errno» is defined in header «<cerrno>»; did you forget to «#include <cerrno>»? 

пробовал в cerrno в инклюде полный путь писать для errno.h - не помогло, еще заменял cerrno, errno и string_conversions на оригинал с гитхаба, тот же результат(


Ответы (0 шт):