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

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

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

    解决方法如下:

    UIFlash.h

  行:#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids
Visual Studio 2010 编译Duilib源码报错: error C2371: “IDispatchEx”: 重定义;不同的基类型 解决方法_第2张图片
改为:
  #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids, rename("IDispatchEx","IMyDispatchEx")
  可以解决以上的问题。
Visual Studio 2010 编译Duilib源码报错: error C2371: “IDispatchEx”: 重定义;不同的基类型 解决方法_第3张图片
  为了兼容性更好,防止系统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 */  

                            

你可能感兴趣的:(Dispatch)