1

我有一个在 VS2003 中运行良好且没有错误的项目,但由于某种原因我必须将其更新到 2010。更新项目后,在构建项目时,出现以下错误:

1.errorLNK1179:Invalid or corrupt files :duplicate comdat“IIDIDispatchEx”
2.IIDIDispatchEx duplicate initialization on file dispeX.h(121)

我对 LNK1179 的发现表明该错误可能是由于我有多个 COMDAT 共享相同的名称,并使用/h限制外部名称的长度,同时将 /Gy 打包在 COMDAT 中。
但是/H代码中没有使用选项,我禁用了/Gy. 但错误仍然发生。

搜索dispeX.h,我在MicrosoftSDKs\Windows\v7.0A\Include\. 第 121 行的代码是:

DEFINEGUID(IIDIDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);

我不知道如何解决这个问题,非常欢迎任何帮助或解释或指导正确方向。

4

0 回答 0