编译器错误 C3172

“module_name”: 在一个项目中不能指定不同的 idl_module 特性

在同一编译的两个文件中发现了具有相同名称但 dllnameversion 参数不同的 idl_module 特性。 每次编译只能指定一个唯一的 idl_module 属性。

可以在多个源代码文件中指定相同的 idl_module 属性。

例如,如果发现以下 idl_module 特性:

// C3172.cpp
[module(name="MyMod")];
[ idl_module(name="x", dllname="file.dll", version="1.1") ];
int main() {}

然后,

// C3172b.cpp
// compile with: C3172.cpp
// C3172 expected
[ idl_module(name="x", dllname="file.dll", version="1.0") ];

编译器将生成 C3172(注意不同的版本值)。