C++ Rapidxml未在Visual Studio 2010上编译。我做错了什么?

C++ Rapidxml未在Visual Studio 2010上编译。我做错了什么?,c++,visual-studio-2010,rapidxml,C++,Visual Studio 2010,Rapidxml,我正在我们的代码库中将XML解析器从TinyXml切换到RapidXml 然而,RapidXml似乎并没有使用VisualStudio2010编译 基本上,在我正在做的头文件中 #define RAPIDXML_NO_EXCEPTIONS #include "RapidXml/rapidxml.hpp" using namespace rapidxml; 在实施过程中, xml_document<> xmlDoc; xmlDoc.parse<0>(filestring)

我正在我们的代码库中将XML解析器从TinyXml切换到RapidXml

然而,RapidXml似乎并没有使用VisualStudio2010编译

基本上,在我正在做的头文件中

#define RAPIDXML_NO_EXCEPTIONS
#include "RapidXml/rapidxml.hpp"
using namespace rapidxml;
在实施过程中,

xml_document<> xmlDoc;
xmlDoc.parse<0>(filestring);
xml\u文档xmlDoc;
parse(filestring);
就在这里,在我的第二行代码中,VisualStudio说

c:\users\name\development\rapidxml\rapidxml.hpp(420):错误C2061:语法错误:标识符“memory”
1> c:\users\name\development\rapidxml\rapidxml.hpp(418):编译类模板成员函数“rapidxml::xml\u node*rapidxml::memory\u pool::allocate\u node(rapidxml::node\u type,const Ch*,const Ch*,size\u t,size\u t)”时
1> 与
1> [
1> Ch=char
1> ]
1> c:\users\name\development\rapidxml\rapidxml.hpp(1359):请参阅正在编译的类模板实例化“rapidxml::memory\u pool”
1> 与
1> [
1> Ch=char
1> ]
1> c:\users\name\development\xmlresource.cpp(70):请参阅正在编译的类模板实例化“rapidxml::xml_文档”的参考


这是漫长的编码日的结束,今天就讲到这里。你们这些知识渊博的人知道我做错了什么吗?

这是我使用的一些示例代码,也许会有所帮助

   #include <rapidxml.hpp>

   rapidxml::xml_document<> doc;
   doc.parse<rapidxml::parse_no_data_nodes | rapidxml::parse_trim_whitespace>( buffer );

   rapidxml::xml_node<>* root;
   root = doc.first_node();
   if ( root )
   {
      rapidxml::xml_node<>* cur_node;

      cur_node = root->first_node( "SessionLoginDeadline" );
      if ( cur_node )
         SessionLoginDeadline = cur_node->value();

      cur_node = root->first_node( "Port" );
      if ( cur_node )
         Port = stringTo<unsigned short>( cur_node->value() );

      cur_node = root->first_node( "MaximumAllowedClients" );
      if ( cur_node )
         MaximumAllowedClients = stringTo<unsigned short>( cur_node->value() );
   }
#包括
rapidxml::xml_文档文档;
文档解析(缓冲区);
rapidxml::xml_节点*根;
root=doc.first_node();
如果(根)
{
rapidxml::xml_节点*cur_节点;
cur_node=root->first_node(“SessionLoginDeadline”);
if(当前节点)
SessionLoginDeadline=cur_node->value();
cur_node=root->first_node(“端口”);
if(当前节点)
Port=stringTo(cur_node->value());
cur_node=root->first_node(“MaximumAllowedClient”);
if(当前节点)
MaximumAllowedClients=stringTo(cur_node->value());
}

这是我的实际问题:


作为某些内存调试的一部分,我使用不支持新位置的版本重载了new。然而,rapidxml确实需要新的位置才能工作,所以这些错误就是从这里产生的。哦,天哪。

感谢您分享解决方案!