编译错误:“stddef.h:没有这样的文件或目录"

2022-01-23 00:00:00 cygwin g++ c++

每当我尝试编译这段代码时,总是会出现这个错误:

Whenever I try to compile this code it always ends up with this error:

    In file included from /usr/include/wchar.h:6:0,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/cwchar:44,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/bits/postypes.h:40,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/iosfwd:40,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/ios:38,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/ostream:38,
             from /usr/lib/gcc/i686-pc-cygwin/4.9.2/include/c++/iostream:39,
             from test.cpp:1:
    /usr/include/sys/reent.h:14:20: fatal error: stddef.h: No such file or directory
    #include <stddef.h>
                ^
    compilation terminated.

我试图编译的代码是:

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello World! :D";
    return 0;
}

推荐答案

这个错误是因为你的gcc-core包和gcc-g++不是同一个版本.要么降级其中一个以解决问题,要么更新两个库.更新这两个库是推荐的方法.

The error is because your gcc-core package and gcc-g++ are not of the same version. Either downgrade one of them to solve the problem or update both the libraries. Updating both the libraries is the recommended way.

相关文章