при компиляции 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 на оригинал с гитхаба, тот же результат(