Я пытаюсь скомпилировать настоящее win32 приложение в eclipse/mingw-gcc, довольно безуспешно до сих пор (см. https://stackoverflow.com/questions/9162976/how-to-compile-a-win32-application-in-eclipse-using-the-mingw-gcc-toolchain)
В любом случае, при устранении очередной ошибки, следующая строка в файле c:\Program Files (x86)\Microsoft SDKs\Windows\v7. 0A\Include\WTypes.h привлекла мое любопытство:
#define _VARIANT_BOOL /##/
Она используется в struct tagVARIANT
из C:\Program Files (x86)\Microsoft SDKs\Windows\v7. 0A\Include\OAIdl.h:
VARIANT_BOOL boolVal;
_VARIANT_BOOL bool;
SCODE scode;
который расширяется до:
VARIANT_BOOL boolVal;
SCODE scode;
Потому что /##/
расширяется до //
, который начинает комментарий! Я не верю, что это соответствует стандарту, и действительно, попытка компиляции в mingw-gcc приводит к неудаче:
pasting "/" and "/" does not give a valid preprocessing token ComHelpers line 445, external location: o:\C\wsdk\Include\oaidl.h C/C++ Problem
Поэтому я ищу совета, как решить эту проблему.