我正在更改我的 C++ 项目,该项目早期在 VC6 中,现在正在迁移到 VS 2008,以使用 MSXML 6 而不是早期的 MSXML 3。当代码在 VC6 中时,我们通过导入它来使用 MSXML3
# import "msxml3.dll"
这被替换为
# import "msxml6.dll"
在此之后,当我编译项目时,我得到了这个和其他几个类似的错误 Error C2011: 'MSXML2::IXMLDOMImplementation' : 'struct' type redefinition
上述错误在 msxml3.tlh 文件中。
1) 为什么还在使用 msxml3?
2) 我将问题缩小到 MSXML.h,它以某种方式自动包含在我的项目中。为什么是这样?
3) MSXML.h 中引用了哪个版本的 MSXML?
4)为什么VC++会自动包含这么多头文件?如果我不想包含一些头文件怎么办?
5) 在 c++ 项目中使用 MSXML6 的正确方法是什么?#导入,头文件??????
6)我该如何解决这个问题?
随时给我.net。干净多了。VC++ 项目是一团糟。