Boost logo

Boost Users :

Subject: [Boost-users] boost-users@lists.boost.org
From: Stephen Hewitt (shewitt.au_at_[hidden])
Date: 2011-03-12 05:01:33


I have recently upgraded to Boost 1.46 and am having trouble compiling the
following simple program (Using Visual Studio 2005):

// Error.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <tchar.h>

#include <iostream>

#include <boost/property_tree/ptree.hpp>

#include <boost/property_tree/json_parser.hpp>

void Go()

{

      boost::property_tree::ptree t;

      boost::property_tree::read_json(std::cin, t);

}

int _tmain(int argc, _TCHAR* argv[])

{

      Go();

      return 0;

}

Here are the errors I get:

1>------ Build started: Project: Error, Configuration: Debug Win32 ------

1>Compiling...

1>stdafx.cpp

1>Compiling...

1>Error.cpp

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1> c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(178)
: while compiling class template member function
'boost::property_tree::json_parser::json_grammar<Ptree>::definition<Scanner>::definition(const
boost::property_tree::json_parser::json_grammar<Ptree> &)'

1> with

1> [

1> Ptree=boost::property_tree::ptree,

1> Scanner=scanner_t

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\non_terminal\impl\grammar.ipp(279)
: see reference to class template instantiation
'boost::property_tree::json_parser::json_grammar<Ptree>::definition<Scanner>'
being compiled

1> with

1> [

1> Ptree=boost::property_tree::ptree,

1> Scanner=scanner_t

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\non_terminal\impl\grammar.ipp(298)
: see reference to function template instantiation 'void
boost::spirit::classic::impl::call_helper<0>::do_<result_t,definition_t,ScannerT>(RT
&,DefinitionT &,const ScannerT &)' being compiled

1> with

1> [

1> ScannerT=scanner_t,

1> RT=result_t,

1> DefinitionT=definition_t

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\non_terminal\grammar.hpp(55)
: see reference to function template instantiation
'boost::spirit::classic::match<boost::spirit::classic::nil_t>
boost::spirit::classic::impl::grammar_parser_parse<0,boost::property_tree::json_parser::json_grammar<Ptree>,boost::spirit::classic::parser_context<>,ScannerT>(const
boost::spirit::classic::grammar<DerivedT> *,const ScannerT &)' being
compiled

1> with

1> [

1> Ptree=boost::property_tree::ptree,

1> ScannerT=scanner_t,

1>
DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\non_terminal\grammar.hpp(65)
: see reference to function template instantiation
'boost::spirit::classic::match<boost::spirit::classic::nil_t>
boost::spirit::classic::grammar<DerivedT>::parse_main<ScannerT>(const
ScannerT &) const' being compiled

1> with

1> [

1>
DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>,

1> ScannerT=scanner_t

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\scanner\impl\skipper.ipp(109)
: see reference to function template instantiation
'boost::spirit::classic::match<boost::spirit::classic::nil_t>
boost::spirit::classic::grammar<DerivedT>::parse<scanner_t>(const ScannerT
&) const' being compiled

1> with

1> [

1>
DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>,

1> ScannerT=scanner_t

1> ]

1> c:\libraries\boost_1_46_0\boost\spirit\home\classic\core\scanner\impl\skipper.ipp(155)
: see reference to function template instantiation
'boost::spirit::classic::parse_info<IteratorT>
boost::spirit::classic::impl::phrase_parser<SkipT>::parse<IteratorT,DerivedT>(const
IteratorT &,const IteratorT &,const ParserT &,const SkipT &)' being compiled

1> with

1> [

1> IteratorT=It,

1>
SkipT=boost::spirit::classic::alternative<boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>,

1>
DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>,

1>
ParserT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>

1> ]

1> c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(312)
: see reference to function template instantiation
'boost::spirit::classic::parse_info<IteratorT>
boost::spirit::classic::parse<std::_Vector_iterator<_Ty,_Alloc>,DerivedT,boost::spirit::classic::alternative<A,B>>(const
IteratorT &,const IteratorT &,const boost::spirit::classic::parser<DerivedT>
&,const
boost::spirit::classic::parser<boost::spirit::classic::alternative<A,B>> &)'
being compiled

1> with

1> [

1> IteratorT=It,

1> _Ty=Ch,

1> _Alloc=std::allocator<char>,

1>
DerivedT=boost::property_tree::json_parser::json_grammar<boost::property_tree::ptree>,

1>
A=boost::spirit::classic::alternative<boost::spirit::classic::space_parser,boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::alternative<boost::spirit::classic::eol_parser,boost::spirit::classic::end_parser>,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>>,

1>
B=boost::spirit::classic::confix_parser<boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::kleene_star<boost::spirit::classic::anychar_parser>,boost::spirit::classic::impl::string_as_parser::type,boost::spirit::classic::unary_parser_category,boost::spirit::classic::non_nested,boost::spirit::classic::is_lexeme>

1> ]

1> c:\libraries\boost_1_46_0\boost\property_tree\json_parser.hpp(45)
: see reference to function template instantiation 'void
boost::property_tree::json_parser::read_json_internal<Ptree>(std::basic_istream<_Elem,_Traits>
&,Ptree &,const std::string &)' being compiled

1> with

1> [

1> Ptree=boost::property_tree::ptree,

1> _Elem=char,

1> _Traits=std::char_traits<char>

1> ]

1> c:\users\steve\documents\visual studio
2005\projects\error\error.cpp(13) : see reference to function template
instantiation 'void
boost::property_tree::json_parser::read_json<boost::property_tree::ptree>(std::basic_istream<_Elem,_Traits>
&,Ptree &)' being compiled

1> with

1> [

1> _Elem=char,

1> _Traits=std::char_traits<char>,

1> Ptree=boost::property_tree::ptree

1> ]

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(184)
: error C3861: 'expect_object': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(185)
: error C3861: 'expect_eoi': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(186)
: error C3861: 'expect_objclose': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(187)
: error C3861: 'expect_arrclose': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(188)
: error C3861: 'expect_name': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(189)
: error C3861: 'expect_colon': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(190)
: error C3861: 'expect_value': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C2872: 'assertion' : ambiguous symbol

1> could be 'boost::assertion'

1> or
'c:\libraries\boost_1_46_0\boost\spirit\home\classic\error_handling\exceptions.hpp(187)
: boost::spirit::classic::assertion'

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C2882: 'assertion' : illegal use of namespace identifier in
expression

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(191)
: error C3861: 'expect_escape': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(195)
: error C3861: 'expect_object': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(196)
: error C3861: 'expect_eoi': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(203)
: error C3861: 'expect_objclose': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(209)
: error C3861: 'expect_name': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(210)
: error C3861: 'expect_colon': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(211)
: error C3861: 'expect_value': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(218)
: error C3861: 'expect_arrclose': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(224)
: error C3861: 'expect_value': identifier not found

1>c:\libraries\boost_1_46_0\boost\property_tree\detail\json_parser_read.hpp(250)
: error C3861: 'expect_escape': identifier not found

1>Build log was saved at "file://c:\Users\Steve\Documents\Visual Studio
2005\Projects\Error\Debug\BuildLog.htm"

1>Error - 57 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net