Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compilation error: "stddef.h: No such file or directory"

Tags:

c++

g++

cygwin

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. 

The code I was trying to compile is:

#include <iostream> using namespace std;  int main() {     cout << "Hello World! :D";     return 0; } 
like image 455
Louie Avatar asked Jul 24 '15 01:07

Louie


2 Answers

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.

like image 103
ThisIzKp Avatar answered Sep 28 '22 08:09

ThisIzKp


I had this error on a fresh MinGW install, it had nothing to do with the installed packages mentioned in the current accepted answer by "Prasanth Karri". In my case the issue was caused by -nostdinc in my Makefile. I actually only needed that compiler flag when building for a different target platform (not when using MinGW) so I fixed the issue by removing that flag from MinGW builds.

like image 41
Ben Avatar answered Sep 28 '22 09:09

Ben