On Feb 13, 8:11 pm, Bernd Strieder <[EMAIL PROTECTED]> wrote: > Hello, > > JeanDean wrote: > > Line 242 in String.h > > /////// > > #if defined __USE_BSD > > /* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ > > extern void bcopy (__const void *__src, void *__dest, size_t __n) > > __THROW; > > ////// > > /usr/include/string.h:242: declaration of C function `void memcpy > > (void > > *, const void *, unsigned int)' conflicts with > > /usr/include/string.h:42: previous declaration `void *memcpy (void *, > > const void *, unsigned int)' here > > Somebody has done a > > #define bzero memcpy > > or > > #define bzero(a,b,c) memcpy(a,b,c) > > which is clearly not possible with the string.h of your C library in the > default settings of your compiler. > > The best solution would be to find the place where bzero is defined as a > macro and remove that. It is a major portability problem, as you have > seen. > > As a quick-fix perhaps you can insert > > #undef bzero > > somewhere before the include in your source file leading to the problem. > If that is no option, you might do > > #undef __USE_BSD > > at the beginning of your source file to remove some BSD extensions, > bzero among them. There might be some switches to gcc turning the > extensions off in a clean manner, like -ansi or -stdc=.... See the > docs. > > Bernd Strieder
I think you intended bcopy instead of bzero. yes , I have code like : #define bcopy(src, dst, len) memcpy(dst, src, len) which was the problem. Thanks for the directions . _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus