Mail Archives: djgpp/1999/04/27/14:15:27
Endlisnis wrote in message <37252C51 DOT 6D8D4046 AT unb DOT ca>...
>Ofer Nave wrote:
>
>> 2. I have a program that includes iostream.h (#include <iostream.h>). It
>> finds iostream, but that complains that it can't find streambuf.h
(iostream
>> contains the following line: "#include <streambuf.h>"). Now, under DOS,
>> obviously this isn't going to work, as "streambuf" contains 9 characters.
I
>> don't undertstand why a compiler ported to dos has headers that don't fit
>> the 8.3 scheme, but anyway...
>>
>> I tried the same thing in a DOS shell under Windows NT Server 4.0, and it
>> still couldn't find it, even though NT's shell handles long file names
just
>> fine.
>>
>> I have checked through the FAQ to no avail. I've made sure the "+LFN=y"
is
>> in DJGPP.ENV, and I even tried adding "set LFN=y" to DJGPP.ENV and also
to
>> AUTOEXEC.BAT. Still doesn't work.
>
> If you are running under Pure Dos or NT, then LFN will not work and you
>should install DJGPP using a 16-bit zip program, or rename the files
>"streambuf.h" -> "streambu.h" and such.
That means I have to go into each header file and change the include
statements. In other words, I have to edit "iostream.h" so that instead of
"#include <streambuf.h>" it will say "#include <streambu.h>".
That's a lot of work. It seems like this problem would be too common to
have been left unsolved this long. Afterall, DJGPP is a compiler for *DOS*,
which does not support more than 8.3. Why weren't the headers written with
this in mind?
If there's some point I'm missing, please enlighten me. Afterall, I'm
fairly new to DJGPP.
-Ofer
- Raw text -