Mail Archives: djgpp/2002/06/14/09:36:33
Hello.
Rob Kramer wrote:
> I tried to upgrade my cross building environment to the latest DJGPP version
> in CVS. To do so, I:
>
> - Compiled djgpp, did mkdist, unzipped -a djcrx.zip to a tmp dir.
> - Copied -rp tmp/include/* to /opt/djgpp/i586-pc-msdosdjgpp/include
> - Copied -rp tmp/lib/* to /opt/djgpp/i586-pc-msdosdjgpp/lib
>
> But I guess this isn't the right way to do it, since now I get redefinition
> warnings:
>
> gcc -c -gstabs+ -march=i486 -mcpu=pentium -O2 -W -Wall -Wno-unused
> -Wno-parentheses -mpreferred-stack-boundary=2 -I.. -I. -I../../include
> -o../obj/mndraw.o mndraw.c
> In file included from ../../include/allegro/base.h:27,
> from ../../include/allegro4.h:27,
> from ../mn/mnsystem.h:25,
> from mnsbitmap.h:36,
> from mndraw.c:34:
> /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/include/stdarg.h:18:
> warning: redefinition of `va_list'
> /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/../../../../i586-pc-msdosdjgpp/include/stdio.h:37:
> warning: `va_list' previously declared here
>
> And ditto for size_t and others.
> FYI, allegro/base.h contains '#include <stdarg.h>', but why does it pick
> /opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/2.95.3/include/stdarg.h
> over /opt/djgpp/i586-pc-msdosdjgpp/include/stdarg.h ?
[snip]
I believe that gcc has its own header files, to provide certain things that
are not available in the libc headers. In particular it may use its built-in
support for memcpy, va_lists, etc. in preference to the support in the libc.
gcc's header files should include the libc header file. In the message above,
it hasn't picked one of the files over the other. It's actually including
both, but their definitions disagree.
I thought this may be because djdev203.zip had been refreshed to cope with
Windows 2000 and djcrx203.zip had not, so the headers may have been different.
But it appears that they agree. So I don't know what the above problem is.
Regards,
--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
- Raw text -