Problems building with extern inline functions in winebase.h

Dan Kegel dank at kegel.com
Thu Aug 16 10:16:26 CDT 2001


Mike Bond wrote:
> 
> A couple days ago a number of inline functions were put into winebase.h.
> Since then I have been unable to build, using gcc 2.96-81 (RedHat). Apparently
> this version of gcc thinks that because there is an extern prefixing the
> inline, even though the function does in fact have a body, that the
> function really is external. Removing the extern, just having inline as
> one would do in C++, does not appear to work correctly either, and causes
> the function to appear as a exported symbol in all the object files that
> header gets included with, thus resulting in multiple definitions.
> 
> I'm not sure what the correct solution would be, other than using the
> older function call method for this version of gcc. Perhaps I'm just
> missing some variant on the use of inline?

There was a thread on 'static inline' vs. 'extern inline' on linux-kernel
recently:
http://marc.theaimsgroup.com/?l=linux-kernel&m=99679337730171&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=99617009115578&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=98594516710242&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=98590101912992&w=2

You might try replacing 'extern' with 'static' and see what happens.
Also replacing 'inline' with '__inline__' might be needed for old
gcc's, maybe?
- Dan

-- 
"I have seen the future, and it licks itself clean." -- Bucky Katt




More information about the wine-devel mailing list