最新版Duilib在VS2012下编译错误的解决方法
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下编译错误的解决方法的更多相关文章
- vs2010打包系统必备选择.net framework 3.5sp1编译错误的解决方法
利用visual studio 2010进行打包程序,默认安装的是Framework 4.0,如果需要将3.5sp1打包到系统中一起安装(选择了"从与我的应用程序相同的位置下载系统必备组件& ...
- VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...
- vc6.0转vs2012的一些错误与解决方法
1>------ 已启动生成: 项目: NMW210, 配置: Debug Win32 ------ abs_position = fabs((float)posiTemp1 - (float) ...
- Ncut源码编译错误的解决方法
NCut是一个比较老的开源代码了.所以在新的matlab的环境下老出各种bug. 经过自己的各种折腾,总结为一下几点: 1.保证matlab的mex是有C编译器可以用的,具体可以用 mex -setu ...
- 18.16 gcc-3.4.5编译错误及解决方法集锦
18.16.1 自写BootLoader错误 ERROR : boot.c:: warning: return type of 'main' is not `int' ANSWER : int mai ...
- Office Word等双击空白处的“隐藏的模块中的编译错误:MTW5”解决
Microsoft Visual Basic for Applications 隐藏的模块中的编译错误:MTW5. ...
- 在vs2012下编译出现Msvcp120d.dll 丢失的问题
之前在vs2012下编译一个opencv程序时,一直出现msvcp120d.dll文件丢失的提示信息,最初会在网上找dll下载,将其拖入系统文件夹再进行regsvr32命令操作,结果都没有解决错误,甚 ...
- 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/ ...
- VS2010出现FileTracker : error FTK1011编译错误的解决办法
VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了. FileTracker : error FTK1011编译错误的解决办法有 ...
随机推荐
- 转:Java NIO系列教程(七) Socket Channel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道.可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器. ...
- 移动web调式利器---Rosin研究
移动web调式利器---Rosin研究 阅读目录 关于Rosin Rosin在Fiddler中如何使用 回到顶部 一:关于Rosin Rosin是Fiddler的一个插件,它能接受页面中的JS的con ...
- javascript工厂模式
工厂模式 设计工厂模式的目的是为了创建对象.它通常在类或者类的静态方法实现,具有下列目标: 1.在创建相似对象是执行重复操作 2.在编译时不知道具体类型(类)的情况下,为工厂客户提供一种创建对象的接口 ...
- 繁华模拟赛 ljw搭积木
#include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...
- WP8版微信5.4发布 新增夜间模式 暂没小视频
经过近一个月的内测,WP8版的微信终于更新了v 5.4版本.新增聊天中的照片墙.识别图片二维码.夜间模式等功能,还对资源占用情况进行了优化,让程序可以更流畅的在低配置设备上运行. 不过,WP8版微信5 ...
- 21个常用的PHP代码汇总
PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点.这里收集了 21个日常开发中实用便捷的 PHP 代码,希望可以对一些 PHP ...
- 查看远程git log
$ git reset --hard bit/add $ git log --oneline --graph
- Linux中启动和停止jar包的运行
脚本一: startTest.sh内容如下: #!/bin/sh java -jar Test.jar & #注意:必须有&让其后台执行,否则没有pid生成 echo $! ...
- linux文件分割(将大的日志文件分割成小的)
linux文件分割(将大的日志文件分割成小的) linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在L ...
- 什么是响应式Web设计?怎样进行?
http://beforweb.com/node/6/page/0/3 开始第一篇.老规矩,先无聊的谈论天气一类的话题.十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡.话说两年前也 ...