compiling samples with MSV2013

24 views
Skip to first unread message

bre...@houseofbear.com

unread,
Oct 18, 2017, 1:22:02 PM10/18/17
to SVG++ library
I'm trying to compile the first sample with boost 1.63 and visual studio 2013 and I get the following error "Error 2 error C2593: 'operator =' is ambiguous C:\Installed_Resources\svgpp\include\svgpp\adapter\circle.hpp 58 1 Sample01a". I can't seem to be able to resolve this issue. Any help would be appreciated.

The full output is :
2>  sample01a.cpp
2>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(2798): warning C4996: 'std::_Equal1': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
2>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(2783) : see declaration of 'std::_Equal1'
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/range/algorithm/equal.hpp(113) : see reference to function template instantiation 'bool std::equal<RandomAccessTraversalReadableIterator1,RandomAccessTraversalReadableIterator2>(_InIt1,_InIt1,_InIt2)' being compiled
2>          with
2>          [
2>              RandomAccessTraversalReadableIterator1=const char *
2>  ,            RandomAccessTraversalReadableIterator2=const char *
2>  ,            _InIt1=const char *
2>  ,            _InIt2=const char *
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/range/algorithm/equal.hpp(141) : see reference to function template instantiation 'bool boost::range_detail::equal_impl<SinglePassTraversalReadableIterator1,SinglePassTraversalReadableIterator2>(RandomAccessTraversalReadableIterator1,RandomAccessTraversalReadableIterator1,RandomAccessTraversalReadableIterator2,RandomAccessTraversalReadableIterator2,std::random_access_iterator_tag,std::random_access_iterator_tag)' being compiled
2>          with
2>          [
2>              SinglePassTraversalReadableIterator1=const char *
2>  ,            SinglePassTraversalReadableIterator2=const char *
2>  ,            RandomAccessTraversalReadableIterator1=const char *
2>  ,            RandomAccessTraversalReadableIterator2=const char *
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/range/algorithm/equal.hpp(179) : see reference to function template instantiation 'bool boost::range_detail::equal<const char*,const char*>(SinglePassTraversalReadableIterator1,SinglePassTraversalReadableIterator1,SinglePassTraversalReadableIterator2,SinglePassTraversalReadableIterator2)' being compiled
2>          with
2>          [
2>              SinglePassTraversalReadableIterator1=const char *
2>  ,            SinglePassTraversalReadableIterator2=const char *
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/policy/xml/rapidxml_ns.hpp(167) : see reference to function template instantiation 'bool boost::range::equal<boost::iterator_range<const char *>,boost::iterator_range<const char *>>(const SinglePassRange1 &,const SinglePassRange2 &)' being compiled
2>          with
2>          [
2>              SinglePassRange1=boost::iterator_range<const char *>
2>  ,            SinglePassRange2=boost::iterator_range<const char *>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/policy/xml/rapidxml_ns.hpp(106) : see reference to function template instantiation 'void svgpp::policy::xml::element_iterator<XMLElement>::find_next<false>(const rapidxml_ns::xml_node<char> *&)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/policy/xml/rapidxml_ns.hpp(106) : see reference to function template instantiation 'void svgpp::policy::xml::element_iterator<XMLElement>::find_next<false>(const rapidxml_ns::xml_node<char> *&)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/policy/xml/rapidxml_ns.hpp(104) : while compiling class template member function 'void svgpp::policy::xml::element_iterator<XMLElement>::advance_element(const rapidxml_ns::xml_node<char> *&)'
2>          with
2>          [
2>              XMLElement=xml_element_t
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(214) : see reference to function template instantiation 'void svgpp::policy::xml::element_iterator<XMLElement>::advance_element(const rapidxml_ns::xml_node<char> *&)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(108) : see reference to class template instantiation 'svgpp::policy::xml::element_iterator<XMLElement>' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(97) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_expected_element<XMLElement,Context,svgpp::tag::element::svg>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(97) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_expected_element<XMLElement,Context,svgpp::tag::element::svg>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\src\samples\sample01a.cpp(72) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_document<xml_element_t,Context>(const XMLElement &,Context &)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>  ,            Context=Context
2>          ]
2>          C:\Installed_Resources\svgpp\src\samples\sample01a.cpp(72) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_document<xml_element_t,Context>(const XMLElement &,Context &)' being compiled
2>          with
2>          [
2>              XMLElement=xml_element_t
2>  ,            Context=Context
2>          ]
2>C:\Installed_Resources\svgpp\include\svgpp/adapter/circle.hpp(58): error C2593: 'operator =' is ambiguous
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/optional/optional.hpp(994): could be 'boost::optional<Length> &boost::optional<Length>::operator =(boost::none_t)'
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/optional/optional.hpp(951): or       'boost::optional<Length> &boost::optional<Length>::operator =(boost::optional<Length> &&)'
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/optional/optional.hpp(943): or       'boost::optional<Length> &boost::optional<Length>::operator =(const boost::optional<Length> &)'
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/optional/optional.hpp(964): or       'boost::optional<Length> &boost::optional<Length>::operator =<const Length&>(T_)'
2>          with
2>          [
2>              Length=double
2>  ,            T_=const double &
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/optional/optional.hpp(902): or       'boost::optional<Length> &boost::optional<Length>::operator =<const Length&>(Expr)'
2>          with
2>          [
2>              Length=double
2>  ,            Expr=const double &
2>          ]
2>          while trying to match the argument list '(boost::optional<Length>, const double)'
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/adapter/circle.hpp(58) : while compiling class template member function 'void svgpp::collect_circle_attributes_adapter<Length>::set(svgpp::tag::attribute::cx,const Length &)'
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/policy/value_events.hpp(29) : see reference to function template instantiation 'void svgpp::collect_circle_attributes_adapter<Length>::set(svgpp::tag::attribute::cx,const Length &)' being compiled
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/attribute_dispatcher.hpp(137) : see reference to class template instantiation 'svgpp::collect_circle_attributes_adapter<Length>' being compiled
2>          with
2>          [
2>              Length=double
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp(79) : see reference to class template instantiation 'svgpp::detail::convert_basic_shape_to_path_state<ElementTag,double,svgpp::basic_shape_to_path_adapter<svgpp::tag::element::circle>::type>' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\Boost\boost_1_63_0\boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp(84) : see reference to class template instantiation 'boost::fusion::vector_data1<T0>' being compiled
2>          with
2>          [
2>              T0=svgpp::detail::convert_basic_shape_to_path_state<svgpp::tag::element::circle,double,svgpp::basic_shape_to_path_adapter<svgpp::tag::element::circle>::type>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/attribute_dispatcher.hpp(626) : see reference to class template instantiation 'boost::fusion::vector1<svgpp::detail::convert_basic_shape_to_path_state<ElementTag,double,svgpp::basic_shape_to_path_adapter<svgpp::tag::element::circle>::type>>' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/attribute_dispatcher.hpp(679) : see reference to class template instantiation 'svgpp::detail::basic_shape_attribute_dispatcher<svgpp::tag::element::circle,Context,A0,A1,A2,A3,A4,A5,A6,A7>' being compiled
2>          with
2>          [
2>              Context=Context
2>  ,            A0=svgpp::referencing_element<referencing_element_tag>
2>  ,            A1=svgpp::processed_elements<processed_elements_t>
2>  ,            A2=svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>
2>  ,            A3=boost::parameter::void_
2>  ,            A4=boost::parameter::void_
2>  ,            A5=boost::parameter::void_
2>  ,            A6=boost::parameter::void_
2>  ,            A7=boost::parameter::void_
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(168) : see reference to class template instantiation 'svgpp::attribute_dispatcher<ElementTag,Context,svgpp::referencing_element<referencing_element_tag>,A0,A1,A2,A3,A4,A5,A6>' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::circle
2>  ,            Context=Context
2>  ,            A0=svgpp::processed_elements<processed_elements_t>
2>  ,            A1=svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>
2>  ,            A2=boost::parameter::void_
2>  ,            A3=boost::parameter::void_
2>  ,            A4=boost::parameter::void_
2>  ,            A5=boost::parameter::void_
2>  ,            A6=boost::parameter::void_
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(138) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_attributes<ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(140) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_attributes<ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(182) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element<ExpectedChildElements,ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::circle,void>::type
2>  ,            ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            ElementTag=svgpp::tag::element::circle
2>  ,            Context=Context
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(182) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element<ExpectedChildElements,ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::circle,void>::type
2>  ,            ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            ElementTag=svgpp::tag::element::circle
2>  ,            Context=Context
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(333) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_child_element<svgpp::traits::child_element_types<ElementTag,void>::type,ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,ParentContext &,ElementTag)' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::circle
2>  ,            ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            ParentContext=Context
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(333) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_child_element<svgpp::traits::child_element_types<ElementTag,void>::type,ReferencingElement,XMLElement,Context,ElementTag>(const XMLElement &,ParentContext &,ElementTag)' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::circle
2>  ,            ReferencingElement=void
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            ParentContext=Context
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/detail/element_id_to_tag.hpp(30) : see reference to function template instantiation 'void svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<XMLElement,Context,IsElementProcessed,ParentElementTag,ReferencingElement>::operator ()<svgpp::tag::element::circle>(ElementTag)' being compiled
2>          with
2>          [
2>              XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            IsElementProcessed=boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>
2>  ,            ParentElementTag=svgpp::tag::element::svg
2>  ,            ReferencingElement=void
2>  ,            ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/detail/element_id_to_tag.hpp(30) : see reference to function template instantiation 'void svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<XMLElement,Context,IsElementProcessed,ParentElementTag,ReferencingElement>::operator ()<svgpp::tag::element::circle>(ElementTag)' being compiled
2>          with
2>          [
2>              XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            IsElementProcessed=boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>
2>  ,            ParentElementTag=svgpp::tag::element::svg
2>  ,            ReferencingElement=void
2>  ,            ElementTag=svgpp::tag::element::circle
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/detail/element_id_to_tag.hpp(29) : while compiling class template member function 'bool svgpp::detail::call_if_enabled<svgpp::tag::element::circle,F,true>::call(F &)'
2>          with
2>          [
2>              F=svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<const rapidxml_ns::xml_node<char> *,Context,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>,svgpp::tag::element::svg,void>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/detail/dict/enumerate_all_elements.inc(18) : see reference to function template instantiation 'bool svgpp::detail::call_if_enabled<svgpp::tag::element::circle,F,true>::call(F &)' being compiled
2>          with
2>          [
2>              F=svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<const rapidxml_ns::xml_node<char> *,Context,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>,svgpp::tag::element::svg,void>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/detail/dict/enumerate_all_elements.inc(18) : see reference to class template instantiation 'svgpp::detail::call_if_enabled<svgpp::tag::element::circle,F,true>' being compiled
2>          with
2>          [
2>              F=svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<const rapidxml_ns::xml_node<char> *,Context,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>,svgpp::tag::element::svg,void>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(391) : see reference to function template instantiation 'bool svgpp::detail::id_to_element_tag<ExpectedElements,svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<XMLElement,Context,IsElementProcessed,ParentElementTag,ReferencingElement>>(svgpp::detail::element_type_id,F &)' being compiled
2>          with
2>          [
2>              ExpectedElements=svgpp::traits::child_element_types<svgpp::tag::element::svg,void>::type
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            Context=Context
2>  ,            IsElementProcessed=boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>
2>  ,            ParentElementTag=svgpp::tag::element::svg
2>  ,            ReferencingElement=void
2>  ,            F=svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_functor<const rapidxml_ns::xml_node<char> *,Context,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<svgpp::tag::element::svg,svgpp::tag::element::g,svgpp::tag::element::circle,svgpp::tag::element::ellipse,svgpp::tag::element::line,svgpp::tag::element::path,svgpp::tag::element::polygon,svgpp::tag::element::polyline,svgpp::tag::element::rect>,0>,boost::mpl::_1>,svgpp::tag::element::svg,void>
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(217) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_child_xml_element<ExpectedChildElements,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<T0,T1,T2,T3,T4,T5,T6,T7,T8>,0>,boost::mpl::_1>,void,const rapidxml_ns::xml_node<char>*,Context,ElementTag>(const XMLElement &,Context &,ParentElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::svg,void>::type
2>  ,            T0=svgpp::tag::element::svg
2>  ,            T1=svgpp::tag::element::g
2>  ,            T2=svgpp::tag::element::circle
2>  ,            T3=svgpp::tag::element::ellipse
2>  ,            T4=svgpp::tag::element::line
2>  ,            T5=svgpp::tag::element::path
2>  ,            T6=svgpp::tag::element::polygon
2>  ,            T7=svgpp::tag::element::polyline
2>  ,            T8=svgpp::tag::element::rect
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            ParentElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(217) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_child_xml_element<ExpectedChildElements,boost::mpl::has_key<boost::mpl::protect<boost::mpl::set9<T0,T1,T2,T3,T4,T5,T6,T7,T8>,0>,boost::mpl::_1>,void,const rapidxml_ns::xml_node<char>*,Context,ElementTag>(const XMLElement &,Context &,ParentElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::svg,void>::type
2>  ,            T0=svgpp::tag::element::svg
2>  ,            T1=svgpp::tag::element::g
2>  ,            T2=svgpp::tag::element::circle
2>  ,            T3=svgpp::tag::element::ellipse
2>  ,            T4=svgpp::tag::element::line
2>  ,            T5=svgpp::tag::element::path
2>  ,            T6=svgpp::tag::element::polygon
2>  ,            T7=svgpp::tag::element::polyline
2>  ,            T8=svgpp::tag::element::rect
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>  ,            XMLElement=const rapidxml_ns::xml_node<char> *
2>  ,            ParentElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(140) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_content<ExpectedChildElements,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::svg,void>::type
2>  ,            XMLElement=xml_element_t
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(140) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element_content<ExpectedChildElements,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ExpectedChildElements=svgpp::traits::child_element_types<svgpp::tag::element::svg,void>::type
2>  ,            XMLElement=xml_element_t
2>  ,            Context=Context
2>  ,            ElementTag=svgpp::tag::element::svg
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(118) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element<svgpp::traits::child_element_types<ElementTag,void>::type,void,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::svg
2>  ,            XMLElement=xml_element_t
2>  ,            Context=Context
2>          ]
2>          C:\Installed_Resources\svgpp\include\svgpp/document_traversal.hpp(118) : see reference to function template instantiation 'bool svgpp::document_traversal<svgpp::processed_elements<processed_elements_t>,svgpp::processed_attributes<svgpp::traits::shapes_attributes_by_element>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>::load_element<svgpp::traits::child_element_types<ElementTag,void>::type,void,XMLElement,Context,ElementTag>(const XMLElement &,Context &,ElementTag)' being compiled
2>          with
2>          [
2>              ElementTag=svgpp::tag::element::svg
2>  ,            XMLElement=xml_element_t
2>  ,            Context=Context
2>          ]

svgpp

unread,
Oct 18, 2017, 2:45:16 PM10/18/17
to SVG++ library
Hi,

Pretty strange error. I even checked compilation with Boost 1.63 and VS 2013 and everything was fine. Please check that you have VS 2013 Update 4 installed.

Oleg

bre...@houseofbear.com

unread,
Oct 20, 2017, 3:21:30 PM10/20/17
to SVG++ library
I updated to the latest version of 2013, which is Update 5.....I get the same error. However I was playing around and if you set the platform toolset to Visual Studio 2010 (V100), it will compile, just not if you are using the toolset Visual Studio 2013 (v120).

svgpp

unread,
Oct 20, 2017, 4:23:23 PM10/20/17
to SVG++ library
Absolutely weird error. There is obviously no ambiguity in the assignment.
You may try to check same part of the code in a separate function, but I have no idea how it can help us:

void f(const double &val) {
boost::optional<double> opt;
opt = value;
}

Please send me command line compiler options: Project properties->C/C++->Command Line->All Options + Additional Options. Thank you.

Reply all
Reply to author
Forward
0 new messages