使用mingw32-make编译Tinyxml库

第一步:直接从官网下载, http://sourceforge.net/projects/tinyxml/ 。  注意:一定要下载.tar.gz的文件。

第二步:解压缩下载好的包到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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值