您的位置:首页 > 其它

XML接口对象创建时,链接出现错误的解决

2008-07-09 10:20 337 查看
昨日在使用MSXML进行XML文件处理时,用如下方式创建XML文档接口对象时出现了链接失败的现象,屡试不成。在stdafx.h中, #include "MsXml2.h"  

 在实体类的cpp文件中,如下创建接口对象:

CComPtr < IXMLDOMDocument >XMLDoc;

HRESULT hr = XMLDoc.CoCreateInstance( CLSID_DOMDocument2 );

就是这样的语句。编译后,链接提示错误:

DOMXML.obj : error LNK2001: unresolved external symbol _CLSID_DOMDocument2 .

./Output/msxmlcppD.dll : fatal error LNK1120: 1 unresolved externals

我在MsXml2中搜索了一下,CLSID_DOMDocument2已经定义:

EXTERN_C const CLSID CLSID_DOMDocument;

#ifdef __cplusplus class DECLSPEC_UUID("F6D90F11-9C73-11D3-B32E-00C04F990BB4")

DOMDocument;

#endif

#define DOMDocument DOMDocument2

反正我试了几次,用DOMDocument也不行,一样的问题。为什么链接时提示的是_CLSID_DOMDocument2找不到呢?

==================

最后在网上多次搜索,终于找到一篇文章,按照其样子修改后,编译成功。其实很简单,只需要将CLSID_DOMDocument2 改为__uuidof(DOMDocument)即可。修改后如下:

CComPtr < IXMLDOMDocument >XMLDoc;

HRESULT hr = XMLDoc.CoCreateInstance( __uuidof(DOMDocument));

至于为什么这样修改后就没有问题,还需要进一步深入调查。

希望碰到相同问题的朋友们,也能够快速的解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml class 文档 c
相关文章推荐