[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: g++ free function conflict
From: |
BlueDoze |
Subject: |
Re: g++ free function conflict |
Date: |
4 Aug 2004 01:51:23 -0700 |
Thanks for the answer
Actually my question is regarding the different behaviour between
cygnus compiler and g++ 3.2.3. and I want to check first if there's a
way to make the g++ 3.2.3 behave in this case as cygnus g++ compiler.
Paul Pluzhnikov <ppluzhnikov-nsp@charter.net> wrote in message
news:<m3fz743jxh.fsf@salmon.parasoft.com>...
> bluedoze@yahoo.com (BlueDoze) writes:
>
> [Please do not top-post].
>
> > I mean I have to include this file as is, and I don't have any other choice.
>
> Ok, one of 2 things is happening:
> - either the library you are using really *defines* 'free()' as
> you stated in your original message; or
> - the library doesn't really define free(), but has a header file
> with incorrect 'free()' prototype.
>
> If the former, you need to seek advice from a guru, as the problem
> and solutions could be very non-trivial.
>
> If the latter (which is much more likely the case), you should
> contact library provider to notify him of the bug in his header,
> and fix the header to either remove the bogus prototype alltogether,
> or to make it agree with the one in /usr/include/malloc.h
>
> To find out which, run 'nm libfoo.* | grep " free$"' (where libfoo
> is the library you depend on). If you see this:
>
> 00074900 W free or
> 00074900 T free
>
> then you have the 'library really does define free' case.
> If, OTOH, you see this:
>
> U free or
> w free
>
> then you have the 'bogus prototype' case.
>
> Cheers,