下载并测试了expat

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

开始下载了一个tar.gz版本的,解压后由于我的环境是Microsoft Visual C++ .NET 55601-652-0000007-18068,不能正常打开。 :( 看来看去要用cvs下载,没说的,下载wincvs:http://www.8848software.com/wincvs/wincvs.exe,安装运行。设置如下:cvs -d:pserver:anonymous@cvs.libexpat.org:/cvsroot/expat,model的名字也是expat,这样就可以下载expat的最新代码了,如果不行的话仔细看看设置。

下载expat后用vc.net打开,编译,很顺利。我编译了release_static版本,然后准备进行测试。新建立一个工程:testxml,选择控制台,空项目。加入testxml.cpp文件:

#include "expat.h"

static void XMLCALL startElement(void *userData, const char *name, const char **atts)

{

int i;

int *depthPtr = (int *)userData;

for (i = 0; i < *depthPtr; i++) putchar('\t');

*depthPtr += 1; puts(name);

}

static void XMLCALL endElement(void *userData, const char *name)

{

int *depthPtr = (int *)userData;

*depthPtr -= 1;

}

int main(int argc, char *argv[])

{

FILE* fp;

size_t len;

char buf[256*1024];

int done; int depth = 0;

XML_Parser parser = XML_ParserCreate(NULL);

XML_SetUserData(parser, &depth);

XML_SetElementHandler(parser, startElement, endElement);

if(argc<2) fp = fopen("play.xml","rb");

else fp = fopen(argv[1],"rb");

if(!fp) return 1;

len = fread(buf, 1, 256*1024, fp);

fclose(fp);

if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) return 1;

XML_ParserFree(parser);

return 0;

}

将expat路径下的lib路径copy到testxml的路径下,lib路径下只剩下expat.h,expat_external.h,libexpatMT.lib就可以了。

按如下修改配置:

属性页面: C/C++: 常规: 附加包含目录:./lib

预处理器:XML_STATIC

连接器: 常规: 附加库目录: ./lib

这样,编译就能通过了 :)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航