bob*_*lex 5 c++ msxml3 msxml6 visual-studio-2008
我正在更改我的C++项目,它早在VC6中,现在正在迁移到VS 2008,使用MSXML 6而不是早期的MSXML 3.当代码在VC6中时,我们通过导入使用MSXML3
# import "msxml3.dll"
Run Code Online (Sandbox Code Playgroud)
这被替换为
# import "msxml6.dll"
Run Code Online (Sandbox Code Playgroud)
在此之后,当我编译项目时,我得到了这个和其他几个类似的错误错误C2011:'MSXML2 :: IXMLDOMImplementation':'struct'类型重新定义
上述错误位于msxml3.tlh文件中.
1)为什么仍然使用msxml3?
2)我将问题缩小到MSXML.h,它以某种方式自动包含在我的项目中.为什么是这样?
3)在MSXML.h中引用了哪个版本的MSXML?
4)为什么VC++会自动包含这么多头文件?如果我不想要包含一些头文件怎么办?
5)在c ++项目中使用MSXML6的正确方法是什么?#import,头文件?????
6)我该如何解决这个问题?
随时给我.net.更清洁.VC++项目很乱.
他们建议导入 .dll,因为您已经创建了几个 .thl 和 .tli 文件。确保您已删除这些内容。
确保所有包含目录都指向正确的位置。
绝对确保您没有在项目中的其他地方导入 msxml3。
要找到 msxml.h,请执行 CTRL + SHIFT + F 并在整个解决方案中搜索“msxml”<- 请注意缺少 .h,因为如果您正确导入了它,则应该按如下方式完成:
#include <msxml6.dll>
Run Code Online (Sandbox Code Playgroud)
尝试一些...