gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 04:36:09 27 4
gpt4 key购买 nike

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

但是,RapidXml 似乎无法使用 Visual Studio 2010 进行编译。

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

#define RAPIDXML_NO_EXCEPTIONS
#include "RapidXml/rapidxml.hpp"
using namespace rapidxml;

并在执行中

xml_document<> xmlDoc;
xmlDoc.parse<0>(filestring);

就在那里,在我的第二行代码中,Visual Studio 说

c:\users\name\development\rapidxml\rapidxml.hpp(420): error C2061: syntax error : identifier 'memory'
1> c:\users\name\development\rapidxml\rapidxml.hpp(418) : while compiling class template member function 'rapidxml::xml_node<> *rapidxml::memory_pool::allocate_node(rapidxml::node_type,const Ch *,const Ch *,size_t,size_t)'
1> with
1> [
1> Ch=char
1> ]
1> c:\users\name\development\rapidxml\rapidxml.hpp(1359) : see reference to class template instantiation 'rapidxml::memory_pool' being compiled
1> with
1> [
1> Ch=char
1> ]
1> c:\users\name\development\xmlresource.cpp(70) : see reference to class template instantiation 'rapidxml::xml_document<>' being compiled

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

最佳答案

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

   #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() );
}

关于c++ - Rapidxml 未在 Visual Studio 2010 上编译。我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com