GNOME Bugzilla – Bug 441295
audioconvert doesn't build on VS6
Last modified: 2007-05-31 16:38:11 UTC
gst-plugins-base/gst-libs/gst/floatcast/floatcast.h: inline keyword is only available in C++ with VS6 __inline or __forceinline could be used in C
Created attachment 88826 [details] [review] proposed fix This should fix it, I think. Can you confirm?
Is this a regression? Didn't we used to build on VS6 fine?
yes, we did. the fix should work but it doesn't. There is something strange, inline is well defined in gutils.h but VS6 doestn't see it in float.h (may be a VS6 bug, don't know ...) I propose a patch in attchment.
Created attachment 88890 [details] [review] patch to build audioconvert with vs6
Have you tried #include <glib/glib.h> instead - maybe I got the wrong header for VS6? I think this fix belong elsewhere, either GLib or gst-compat or so.
from the code that wraps the INLINE defs in gutils.h, I suppose the problem may lie in the glibconfig.h that you have - does it properly define G_HAVE___INLINE ?
including glib.h don't fix the problem. And I've already check that glibconfig.h is well defining G_HAVE___INLINE by displaying a message at build time inside the # elif defined (G_HAVE___INLINE) of gutils.h. This is really strange. I think this is a VS6 bug with keyword overwrite. if i add "#define tototo static" in the same place as the "#define inline __inline" is in gutils I can use it in floatcast.h without error. Then i guess the last patch i proposed is the last solution :(
OK then, go for it.
Fixed in CVS: 2007-05-31 Jan Schmidt <thaytan@mad.scientist.com> * gst-libs/gst/floatcast/floatcast.h: Define inline when needed on win32 builds. Fixes: #441295