下載並測試了expat

開始下載了一個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
這樣,編譯就能通過了 :)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章