2010/8/4 LucaDC <dicappello@...2144...>:
On Windows XP SP3 I get this error while compiling:
Make error line 299: problem compiling: src/extension/internal/emf-win32-inout.cpp: In member function 'virtual SPDocument* Inkscape::Extension::Internal::EmfWin32::open(Inkscape::Extension::Input*, const gchar*)': src/extension/internal/emf-win32-inout.cpp:2356: error: invalid conversion from 'int (*)(HDC__*, HANDLETABLE*, const ENHMETARECORD*, int, LPARAM)' to 'int (*)(HDC__*, HANDLETABLE*, ENHMETARECORD*, int, LPARAM)' src/extension/internal/emf-win32-inout.cpp:2356: error: initializing argument 3 of 'BOOL EnumEnhMetaFile(HDC__*, HENHMETAFILE__*, int (*)(HDC__*, HANDLETABLE*, ENHMETARECORD*, int, LPARAM), void*, const RECT*)'
I think what we are observing is that the definitions of the ENHMFENUMPROC type for 64-bit versions of Windows do not match the one for 32-bit versions. If you leave out the const, it doesn't compile on 64-bit systems. Probably a mistake in the Win32 API headers from MinGW.
For now a cast is OK.
Regards, Krzysztof