0

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

4

1 回答 1

0

默认情况下,它使用 pascal 调用约定。您正在调用的 mingw 函数不适用于它们。

于 2013-10-20T23:42:29.440 回答