"Troy Rollo" <wine(a)troy.rollo.name> wrote:
> --- include/guiddef.h (revision 26053)
> +++ include/guiddef.h (local)
> @@ -35,12 +35,18 @@
> #undef DEFINE_GUID
>
> #ifdef INITGUID
> +#ifdef __cplusplus
> #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
> + EXTERN_C const GUID name = \
> + { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
> +#else
> +#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
> const GUID name = \
> { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
> +#endif
> #else
> #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
> - extern const GUID name
> + EXTERN_C const GUID name
> #endif
>
> #define DEFINE_OLEGUID(name, l, w1, w2) \
There are 2 problems with this patch: you forgot to provide a definition
for EXTERN_C, and it needlessly duplicates code for the __cplusplus case.
--
Dmitry.