Help compiling gnu commonc++2
Claudio Bley
bley@CS.uni-magdeburg.de
Thu Mar 4 01:44:00 GMT 2004
On Wed, Mar 03, 2004 at 05:36:45PM -0700, Jason.Majors@metriscompanies.com wrote:
> I'm trying to compile commonc++2-1.1.0 on AIX 4.3.2 using g++ 2.95.3 (the
> latest we can get here unfortunately).
>
> I get this error message:
> /usr/include/strings.h:60: declaration of C function `void memcpy(void *,
> const void *, long unsigned int)' conflicts with
> /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.2.0/2.95.3/include/string.h:92:
> previous declaration `void * memcpy(void *, const void *, long unsigned
> int)' here
> ...
> .../straits.h: In function `static char *
> string_char_traits<char>::copy(char *, const char *, long unsigned int)':
> .../straits.h:127: cannot convert `memcpy(s1, s2, n)' from type `void' to
> type `char *'
>
> However line 60 of strings.h is this:
> extern void bcopy(const void *, void *, size_t);
>
> Does anybody know what's wrong, or have an idea on how I can get around
> this and get it to compile?
> Why would bcopy override the declaration of memcpy?
I'd guess because bcopy is deprecated that someone wrote up a macro like
#define bcopy(x, y, z) memcpy(y, x, z)
Use "gcc -E -dD <source-file>" and have a look at the output to find out if
that is the case and where it gets defined. Just remove it or make sure that
it gets #undef'd before including <strings.h>.
--
Claudio Bley ASCII ribbon campaign (")
Debian GNU/Linux user - against HTML email X
http://www.cs.uni-magdeburg.de/~bley/ & vCards / \
More information about the Gcc-help
mailing list