|
|
下载并测试了expat |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
开始下载了一个tar.gz版本的,解压后由于我的环境是Microsoft Visual C++ .NET 55601-652-0000007-18068,不能正常打开。 :( 看来看去要用cvs下载,没说的,下载wincvs:http://www.8848software.com/wincvs/wincvs.exe,安装运行。设置如下:cvs -d:pserver:[email protected]:/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 这样,编译就能通过了 :) 
|
|
相关文章:相关软件: |
|