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重新写一遍

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况