waohitao 2012-10-24 03:19 采纳率: 0%
浏览 4570

VS2003升级编译错误LNK1179错误: 重复的 COMDAT“_IID_IDispatchEx"

原来的代码在2003下可正常编译,但是由于其他代码都是2010的,为统一调整必须将2003项目升级到2010,问题也就跟着来了,编译无法通过,提示如下出错信息:
1、error LNK1179: 无效或损坏的文件: 重复的 COMDAT“_IID_IDispatchEx”
2、_IID_IDispatchEx重复初始化,文件dispeX.h(121)

通过查找发现dispeX.h是个库文件,位于MicrosoftSDKs\Windows\v7.0A\Include\下
121行代码:DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);

网上查了一下,MSDN关于LNK1179的解释是http://msdn.microsoft.com/zh-tw/library/cddbs9aw.aspx 包含了兩個或多個具有相同名稱的 COMDAT,使用了限制外部名稱 (External Name) 長度的 /H,和在 COMDAT 中封裝函式的 /Gy,可能會產生這項錯誤。

可是实际调试过程,并没有在使用/H,(属性— C++ — 命令行下查看)
并且也禁用过/Gy,编译时仍然报同样的错误

我彻底搞晕了,不知道应当怎么处理,请求各位高手帮看一下,谢谢!!

  • 写回答

3条回答 默认 最新

  • love_loveec 2012-10-24 05:32
    关注

    说实话,应该是没什么好办法,工程代码多不,最好的办法是用VS2010重新写一遍

    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的