svn了好几次最新版本的项目源代码, 在VS2012下编译老是出错, 改了后没记录, 结果又忘记, 所以在此记录下.

       这个问题很普遍, 非常多的人遇到.

      至于其它的示例Demo的错误则简单修改项目属性即可.

 

       好了,错误描述就像下面这样:

1>------ Build started: Project: DuiLib, Configuration: UnicodeDebug Win32 ------
1>  StdAfx.cpp
1>c:\users\yangtao\desktop\new folder\duilib\Control/UIFlash.h(10): warning C4192: automatically excluding 'IServiceProvider' while importing type library '..\Utils/Flash11.tlb'
1>  UIWebBrowser.cpp
1>c:\program files\windows kits\8.0\include\um\dispex.h(228): error C2371: 'IDispatchEx' : redefinition; different basic types
1>          c:\program files\windows kits\8.0\include\um\dispex.h(45) : see declaration of 'IDispatchEx'
1>c:\program files\windows kits\8.0\include\um\dispex.h(455): error C2872: 'IDispatchEx' : ambiguous symbol
1>          could be 'c:\program files\windows kits\8.0\include\um\dispex.h(228) : IDispatchEx'
1>          or       'c:\users\yangtao\desktop\new folder\duilib\build\debug_u\flash11.tlh(297) : ShockwaveFlashObjects::IDispatchEx'
1>c:\program files\windows kits\8.0\include\um\dispex.h(791): error C2371: 'ICanHandleException' : redefinition; different basic types
1>          c:\program files\windows kits\8.0\include\um\dispex.h(73) : see declaration of 'ICanHandleException'
1>c:\program files\windows kits\8.0\include\um\dispex.h(977): error C2872: 'IDispatchEx' : ambiguous symbol
1>          could be 'c:\program files\windows kits\8.0\include\um\dispex.h(228) : IDispatchEx'
1>          or       'c:\users\yangtao\desktop\new folder\duilib\build\debug_u\flash11.tlh(297) : ShockwaveFlashObjects::IDispatchEx'
1>c:\program files\windows kits\8.0\include\um\dispex.h(995): error C2872: 'IDispatchEx' : ambiguous symbol
1>          could be 'c:\program files\windows kits\8.0\include\um\dispex.h(228) : IDispatchEx'
1>          or       'c:\users\yangtao\desktop\new folder\duilib\build\debug_u\flash11.tlh(297) : ShockwaveFlashObjects::IDispatchEx'
1>C:\Program Files\Windows Kits\8.0\Include\um\mshtml.h(9754): error C2872: 'IDispatchEx' : ambiguous symbol
1>          could be 'c:\program files\windows kits\8.0\include\um\dispex.h(228) : IDispatchEx'
1>          or       'c:\users\yangtao\desktop\new folder\duilib\build\debug_u\flash11.tlh(297) : ShockwaveFlashObjects::IDispatchEx'
1>C:\Program Files\Windows Kits\8.0\Include\um\mshtml.h(9778): error C2872: 'IDispatchEx' : ambiguous symbol
1>          could be 'c:\program files\windows kits\8.0\include\um\dispex.h(228) : IDispatchEx'
1>          or       'c:\users\yangtao\desktop\new folder\duilib\build\debug_u\flash11.tlh(297) : ShockwaveFlashObjects::IDispatchEx'

 

解决方案:

修改UIWebBrowser.cpp和UIWebBrowser.h:

修改前:

修改后:

 

女孩不哭 @ cnblogs.com/memset @ 2014-05-11

最新版Duilib在VS2012下编译错误的解决方法的更多相关文章

  1. vs2010打包系统必备选择.net framework 3.5sp1编译错误的解决方法

    利用visual studio 2010进行打包程序,默认安装的是Framework 4.0,如果需要将3.5sp1打包到系统中一起安装(选择了"从与我的应用程序相同的位置下载系统必备组件& ...

  2. VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

    以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...

  3. vc6.0转vs2012的一些错误与解决方法

    1>------ 已启动生成: 项目: NMW210, 配置: Debug Win32 ------ abs_position = fabs((float)posiTemp1 - (float) ...

  4. Ncut源码编译错误的解决方法

    NCut是一个比较老的开源代码了.所以在新的matlab的环境下老出各种bug. 经过自己的各种折腾,总结为一下几点: 1.保证matlab的mex是有C编译器可以用的,具体可以用 mex -setu ...

  5. 18.16 gcc-3.4.5编译错误及解决方法集锦

    18.16.1 自写BootLoader错误 ERROR : boot.c:: warning: return type of 'main' is not `int' ANSWER : int mai ...

  6. Office Word等双击空白处的“隐藏的模块中的编译错误:MTW5”解决

    Microsoft Visual Basic for Applications 隐藏的模块中的编译错误:MTW5. ...

  7. 在vs2012下编译出现Msvcp120d.dll 丢失的问题

    之前在vs2012下编译一个opencv程序时,一直出现msvcp120d.dll文件丢失的提示信息,最初会在网上找dll下载,将其拖入系统文件夹再进行regsvr32命令操作,结果都没有解决错误,甚 ...

  8. GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法

    使用gcc4.6.3编译linux2.6.32.12内核出现错误如下: In file included from drivers/net/igbvf/ethtool.c:36:0: drivers/ ...

  9. VS2010出现FileTracker : error FTK1011编译错误的解决办法

    VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了. FileTracker : error FTK1011编译错误的解决办法有 ...

随机推荐

  1. 转:Java NIO系列教程(七) Socket Channel

    Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道.可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器. ...

  2. 移动web调式利器---Rosin研究

    移动web调式利器---Rosin研究 阅读目录 关于Rosin Rosin在Fiddler中如何使用 回到顶部 一:关于Rosin Rosin是Fiddler的一个插件,它能接受页面中的JS的con ...

  3. javascript工厂模式

    工厂模式 设计工厂模式的目的是为了创建对象.它通常在类或者类的静态方法实现,具有下列目标: 1.在创建相似对象是执行重复操作 2.在编译时不知道具体类型(类)的情况下,为工厂客户提供一种创建对象的接口 ...

  4. 繁华模拟赛 ljw搭积木

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  5. WP8版微信5.4发布 新增夜间模式 暂没小视频

    经过近一个月的内测,WP8版的微信终于更新了v 5.4版本.新增聊天中的照片墙.识别图片二维码.夜间模式等功能,还对资源占用情况进行了优化,让程序可以更流畅的在低配置设备上运行. 不过,WP8版微信5 ...

  6. 21个常用的PHP代码汇总

    PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21个日常开发中实用便捷的 PHP 代码,希望可以对一些 PHP ...

  7. 查看远程git log

    $ git reset --hard bit/add $ git log --oneline --graph

  8. Linux中启动和停止jar包的运行

    脚本一: startTest.sh内容如下: #!/bin/sh java -jar Test.jar &       #注意:必须有&让其后台执行,否则没有pid生成 echo $! ...

  9. linux文件分割(将大的日志文件分割成小的)

    linux文件分割(将大的日志文件分割成小的) linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在L ...

  10. 什么是响应式Web设计?怎样进行?

    http://beforweb.com/node/6/page/0/3 开始第一篇.老规矩,先无聊的谈论天气一类的话题.十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡.话说两年前也 ...