Mail Archives: djgpp-workers/1998/01/26/20:23:39
I've found an incompatibility with the gcc build process and
the DJ standard header files when building the c++ libs.
Apparantly, like stddef.h, gcc/egcs (whatever), wants to use
its own generated copy of _G_config.h instead of whatever used
to be there. The gererated _G_config.h define _G_fpos_t as follows.
typedef unsigned long _G_fpos_t;
In DJGPP header files this is defined as a signed long. This value
gets defined all the way down to be streampos that iostream.cc uses.
The latest pg++ snapshot that went out had a libiostream compiled with the
generated header file, so people who attempt to use it with
the standard DJ header will get undefined references.
I can easily change future version of the library to be defined
with streampos to be a signed value, but thought that perhaps it
might be wiser to change the dj header files to use a unsigned value
as well. My current (basically untested) fix for users is to
have them change the value in the header file.
Any thoughts?
- Raw text -