Bill Cunningham said:
I don't seem to have stddef.h anywhere in /usr/include. I am using an
old gcc-3.2 series and I have a gcc-3.4.6 but not installed. Does the
standard say anything about not having stddef.h ?
It's probably not in /usr/include. Try "locate stddef.h", if you have
locate installed.
For instance, I have it here (though you will likely have it elsewhere):
/usr/lib/gcc/i486-slackware-linux/4.3.3/include/stddef.h
Also, if you pass the -v switch to gcc when you compile, it'll tell you
which directories it is searching:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i486-slackware-linux/4.3.3/include
/usr/lib/gcc/i486-slackware-linux/4.3.3/include-fixed
/usr/include
End of search list.
What the other guys have said about stddef.h not necessarily needing to
be a file is true. However, in your case, it probably is a file.
-Beej
Amusingly, locate found this:
/home/beej/backup/windows/40meg/lang/tc/include/stddef.h
That's a copy of Turbo C 2.0 in a backup of my old MSDOS 40 MB hard disk
in a backup of my old Windows 95 hard disk. It's turtles all the way
down!