使用Microsoft的IDL编译器,如果我这样做:
midl a.idl /iid iid.cpp
由于以下警告,我无法在MinGW上编译iid.cpp
:
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 ++时必须设置它?
答案 0 :(得分:0)
默认情况下,它使用pascal调用约定。您正在调用的mingw函数将无法使用它们。