Mike Bond mbond@cox.rr.com wrote in article 20010816102721.A10210@cox.rr.com...
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?
-- TTFN MikeB
Ah. That might explain some of my problems (the "inline" of perfect_graphics in graphics/x11drv/bitblt.c which is explicitly static and possibly one with DPtoLP in windows/defwnd.c I am looking into just now).
Be aware that the problems are still there in 2.96-85 so there's not much point in updating from the RedHat site. I guess I am about to follow advice and back down to 2.95. (Does anyone know; is it simply a matter of using rpm to remove the new and install the old or am I about to start tearing my hair out?)
Bill