Используя компилятор Microsoft IDL, если я сделаю это:
midl a.idl /iid iid.cpp
Я не могу скомпилировать iid.cpp
на MinGW из-за следующего предупреждения:
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/rpcproxy.h:14:2: warning: #warning "rpcproxy type definitions require CINTERFACE" [-Wcpp]
Но если я сгенерирую его как файл C вместо -DCINTERFACE
на g++
командная строка, она компилируется. Какова цель этого флага, и почему я должен установить его, если я компилирую как C ++?
По умолчанию используется соглашение о вызовах паскаля. Функции mingw, которые вы вызываете, не будут работать с ними.
Других решений пока нет …