delorie.com/djgpp/faq/dev-probs/cant-find-headers.html
|
search
|
When I run the compiler it says it couldn't find header files
and/or libraries. But the headers and libraries are all there,
so why won't it find them?
In order for the compiler to find its include files, libraries and
other stuff it can't do without, you should have the following
variable set in your environment:
DJGPP=c:/djgpp/djgpp.env
and it should point to the correct path of the file djgpp.env
on your system (the file itself comes with
djeoeXXX.zip file in the djgpp distribution). In the
above example it is assumed to be in the c:\djgpp directory,
but you should set it as appropriate for your installation.
If the DJGPP variable is set correctly, then check the
following possible causes of this misbehavior:
- You renamed the gcc.exe driver to some other name. For
example, you might be using the real-mode gcc and call it
something like gcc-rm.exe, so you could use the
protected-mode version also. In this case, you should edit the file
DJGPP.ENV to add a section called [gcc-rm] (in our
example) which is an exact duplicate of the section called
[gcc]. go32 (and real-mode gcc) use this
file to find environment variables which it should put into
environment at program start-up, but they search for the relevant
variables using the actual name of the program, so when you rename the
executable, they don't find its section and don't put the necessary
variables into the environment.
- Your FILES= setting in config.sys is
insufficient, so gcc runs out of available handles. You
should have at least FILES=15 in your config.sys.
- Your djgpp directory is on a networked drive, and the network
redirector doesn't have enough available handles in its configuration.
Presumably, there should be a parameter in some configuration file
which sets the number of files which can be open simultaneously on a
networked drive; you should set it to be at least 15.