使用 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++,为什么我必须设置它?