Visual Studio 2010 编译Duilib源码报错: error C2371: “IDispatchEx”: 重定义;不同的基类型 解决方法

本文详细介绍了如何解决在使用VisualStudio2010编译SVN下载更新的代码时遇到的Flash相关编译错误。主要涉及了UIFlash.h文件中对Flash插件的导入方式调整,以及为提高兼容性而导入自定义OCX的方法。通过将导入指令中的参数进行修改,可以有效解决此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       通过SVN从官网下载更新代码,然后用Visual Studio 2010编译报错如下:


 

解决方法如下:

    UIFlash.h

  行:#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids

改为:
  #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids, rename("IDispatchEx","IMyDispatchEx")
  可以解决以上的问题。

  为了兼容性更好,防止系统flash的插件更新后又有问题,干脆直接导入你自己系统的OCX,于是将这一行最好改为:
  #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \
    raw_interfaces_only,       /* Don't add raw_ to method names */ \
    named_guids,           /* Named guids and declspecs */    \
    rename("IDispatchEx","IMyDispatchEx")	/* fix conflicting with IDispatchEx ant dispex.h */  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值