首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"MSXML2“在VC++ 2010中没有成员"IXMLDOMNode”问题

"MSXML2“在VC++ 2010中没有成员"IXMLDOMNode”问题
EN

Stack Overflow用户
提问于 2011-01-25 02:50:57
回答 1查看 3.2K关注 0票数 1

我正在尝试编译一个我继承的使用MSXML2的MSXML2项目。这是一个ATL .EXE项目。头文件包括以下内容:

代码语言:javascript
运行
复制
#include "msxml2.h"

using namespace MSXML2;

预处理器定义包括__USE_MSXML2_NAMESPACE__,我将其添加到项目中,因为没有它,MSXML2命名空间是未定义的。在试图构建此项目时,我收到了表单中的许多错误:

error C2039:'IXMLDOMNode‘:不是'MSXML2'的成员

这些错误是由以下声明产生的

代码语言:javascript
运行
复制
CComPtr<MSXML2::IXMLDOMNode> pNode;

没有找到其他成员,包括IXMLDOMDocument和IXMLDOMNode。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-26 04:20:54

你可以解决这个问题

  1. 包含msxml2.h头。
  2. 删除USE_MSXML2_NAMESPACEusing namespace MSXML2代码。
  3. 使用CComPtr<IXMLDOMNode> pNode;不带命名空间。H 210G 211

我已经看到许多项目使用导入关键字来要求VisualC++使用MSXML2命名空间从TBL生成头文件。但是,使用header和链接到lib是我最喜欢的避免使用导入关键字的方法,因为它不是c++标准。底线是避免在刷新旧项目时将这两种方法混合在一起,这将导致类似的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4789532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档