On Wed, Nov 4, 2020 at 10:34 AM Biswapriyo Nath <nathbap...@gmail.com> wrote:
>
> I would like to avoid the manual editing of d2d1 header files. I tried
> to import d2d1.idl and d2d1_1.idl from wine. widl produces the
> corresponding headers file without any errors. But while compiling
> crt, it conflicts with `namespace D2D1` in d2d1helper.h as it is in
> C++ realm. One thing can be done but I am not sure about it:
> 0. Sync mingw-w64's d2d1_1.h with wine's d2d1_1.idl.
> 1. Import d2d1.idl and d2d1_1.idl from wine.
> 2. Generate header for d2d1_1.idl but NOT for d2d1.h.
> 3. Fix necessary changes in mingw-w64's d2d1.h manually.

i also have an error that i do not understand

when i use

ID2D1Factory1_CreateDevice(***);

the compiler says that

d2d.c:12:60: error: 'ID2D1FactoryVtbl' has no member named 'CreateDevice'
   12 | #define ID2D1Factory1_CreateDevice(this,A,B)
(this)->lpVtbl->CreateDevice(this,A,B)
      |                                                            ^~
d2d.c:301:16: note: in expansion of macro 'ID2D1Factory1_CreateDevice'
  301 |     if (FAILED(ID2D1Factory1_CreateDevice(factory,
dxgi_device, &d2d_device)))
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~

i don't understand why. I've properly defined

#define D2D_USE_C_DEFINITIONS
#define _WIN32_WINNT 0x0A00

before inclusion of d2d header

any idea why ?

Vincent


_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to