cairo uses features available when WINVER is defined to be >= 0x0500, so it must be defined before including <windows.h> (otherwise windows.h pulls every win32 header, and WINVER on mingw32 is undefined, and cairo doesn't build).
Created attachment 5154 [details] [review] #define WINVER 0x0500 I doubt it counts as a real fix, but it fixes cross-compiling cairo with mingw.
Tor, can you take care of this please? Humm... what's Tor's bugzilla address here?
Looks fine to me. For some reason I haven't needed this when building natively on Windows with mingw. (I don't think WINVER will decrease the number of sub-headers that <windows.h> includes, though?) I don't have write access to cairo's code repository. (Or read access, for that matter, but that's my own laziness in not bothering to find/build/learn git...)
(In reply to comment #3) > Looks fine to me. For some reason I haven't needed this when building natively > on Windows with mingw. Perhaps you have it silently defined somewhere somehow, like #ifndef WINVER #define WINVER 0xFFFFF /* use newest and greatest */ #endif My mingw is what's packaged by debian into mingw32 package. > (I don't think WINVER will decrease the number of > sub-headers that <windows.h> includes, though?) Apparently the only such place is in commdlg.h: #if (WINVER >= 0x0500) && !defined (__OBJC__) #include <unknwn.h> /* for LPUNKNOWN */ #include <prsht.h> /* for HPROPSHEETPAGE */
Committed: 6de226be0e879709c4068cb7836d485e75928287
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.