第二步:解压缩下载好的包到C:\tinyxml目录
第三步:使用写字板程序修改C:\tinyxml\Makefile文件:
1、将TINYXML_USE_STL := NO的NO修改为YES,意思是在XML解析时使用标准库中的string字符串
2、 将其中的OUTPUT := xmltest一行修改为:OUTPUT := libtinyxml.a
3、将xmltest.cpp从SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中删除
4、注释掉xmltest.o:tinyxml.h tinystr.h。因为不需要将演示程序添加到动态库中。
5、将${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改为:
${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。
保存退出。
第四步:在C:\tinyxml目录下执行mingw32-make命令编译,就会在当前目录下生成libtinyxml.a文件。
注:参考文章http://www.2cto.com/os/201101/82464.html
附加一:
在TiXmlDocument建立这前使用 SetCondenseWhiteSpace(false) 类函数来指示Tinyxml不处理多余的空格。默认是处理多余的空格。
TiXmlDocument::SetCondenseWhiteSpace(false);
TiXmlDocument *DDocument = new TiXmlDocument(DFileName.c_str());
DDocument->LoadFile(TIXML_ENCODING_UTF8);
附加二:
TinyXML可以被编译成使用或不使用STL。如果使用STL,TinyXML会使用std::string类,而且完全支持std::istream,std::ostream,operator<<和operator>>。许多API方法都有 ‘const char*’和’const std::string&’两个版本。
如果被编译成不使用STL,则任何STL都不会被包含。所有string类都由TinyXML它自己实现。所有API方法都只提供’const char*’传入参数。
使用运行时定义:
TIXML_USE_STL
来编译成不同的版本。这可以作为参数传给编译器或者在“tinyxml.h”文件的第一行进行设置。
注意:如果在Linux上编译测试代码,设置环境变量TINYXML_USE_STL=YES/NO可以控制STL的编译。而在Windows上,项目文件提供了STL和非STL两种目标文件。在你的项目中,在tinyxml.h的第一行添加"#define TIXML_USE_STL"应该是最简单的。
注:参考文章http://www.cnblogs.com/flying_bat/archive/2007/11/10/955327.html