On 16 June 2017 at 11:34, Alistair Leslie-Hughes leslie_alistair@hotmail.com wrote:
We cannot use "interface ID2D1Image;" like in d2d1.idl. This is just a forward declare and causes compile errors when building d3dx* with ../../include/wincodec.h:5800:9: error: unknown type name ‘ID2D1Image’ ID2D1Image *image
Uhm, no?
I only see two options,
- Use the d2d1.idl, which will include extra interfaces not in the original
or 2. Add the following to the wincodec.idl.
#ifndef __ID2D1Image_FWD_DEFINED__ #define __ID2D1Image_FWD_DEFINED__ typedef interface ID2D1Image ID2D1Image; #ifdef __cplusplus interface ID2D1Image; #endif /* __cplusplus */ #endif
That's pretty much what "interface ID2D1Image;" does, without the cpp_quote hackery.