cierelabs / boostache

Template engine library in C++
92 stars 62 forks source link

Problem building examples using Visual Studio #22

Closed misuo closed 8 years ago

misuo commented 8 years ago

I'm trying to build boostache examples with Visual Studio / MSVC. Example 1 works fine, but I get identical build error C2665 in examples 2 and 3. See the hairy build/error log output below.

What I've used:

Ideally it would also be nice to know whether others can reproduce.

Example: The build output for example3.cpp:

1>------ Build started: Project: example3, Configuration: Debug Win32 ------
1>  example3.cpp
1>C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(92): error C2665: 'boost::boostache::extension::render': none of the 5 overloads could convert all the argument types
1>  C:\Work\github\boostache-master\include\boost/boostache/model/unwrap_variant.hpp(51): note: could be 'void boost::boostache::extension::render<Stream,T>(Stream &,const T &,const std::string &,boost::boostache::extension::variant_attribute)'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(73): note: or       'void boost::boostache::extension::render<Stream&,T>(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>&,const T &,const std::string &,boost::boostache::extension::sequence_attribute)'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(59): note: or       'void boost::boostache::extension::render<Stream&,T>(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>&,const T &,const std::string &,boost::boostache::extension::associative_attribute)'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(50): note: or       'void boost::boostache::extension::render<Stream&,T>(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>&,const T &,const std::string &,boost::boostache::extension::unused_attribute)'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(40): note: or       'void boost::boostache::extension::render<Stream&,T>(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>&,const T &,const std::string &,boost::boostache::extension::optional_attribute)'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(92): note: while trying to match the argument list '(std::stringstream, const T2, const std::string, boost::boostache::extension::plain_attribute)'
1>  C:\Work\github\boostache-master\include\boost/boostache/model/unwrap_variant.hpp(57): note: see reference to function template instantiation 'void boost::boostache::extension::render<Stream,T>(Stream &,const T &,const std::string &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=T2
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/detail/unwrap_variant_visitor.hpp(47): note: see reference to function template instantiation 'void boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>::operator ()<T>(T) const' being compiled
1>          with
1>          [
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(978): note: see reference to function template instantiation 'void boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::operator ()<const T>(const T &) const' being compiled
1>          with
1>          [
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(978): note: see reference to function template instantiation 'void boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::operator ()<const T>(const T &) const' being compiled
1>          with
1>          [
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/visitation_impl.hpp(114): note: see reference to function template instantiation 'void boost::detail::variant::invoke_visitor<Visitor>::internal_visit<const T>(T &,int)' being compiled
1>          with
1>          [
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/visitation_impl.hpp(112): note: see reference to function template instantiation 'void boost::detail::variant::invoke_visitor<Visitor>::internal_visit<const T>(T &,int)' being compiled
1>          with
1>          [
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/visitation_impl.hpp(157): note: see reference to function template instantiation 'void boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::invoke_visitor<const boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>>,
1>              VoidPtrCV=const void *,
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/visitation_impl.hpp(238): note: see reference to function template instantiation 'void boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T2,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::invoke_visitor<const boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>>,
1>              VoidPtrCV=const void *,
1>              NoBackupFlag=boost::variant<std::string,object_t,list_t,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              T=T2
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(2323): note: see reference to function template instantiation 'void boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::invoke_visitor<const boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>>,
1>              VoidPtrCV=const void *,
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              NoBackupFlag=boost::variant<std::string,object_t,list_t,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              Which=first_which,
1>              step0=first_step
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(2345): note: see reference to function template instantiation 'void boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::internal_apply_visitor_impl<Visitor,const void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              Visitor=boost::detail::variant::invoke_visitor<const boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>>,
1>              VoidPtrCV=const void *
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(2343): note: see reference to function template instantiation 'void boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::internal_apply_visitor_impl<Visitor,const void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              Visitor=boost::detail::variant::invoke_visitor<const boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>>,
1>              VoidPtrCV=const void *
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(2367): note: see reference to function template instantiation 'void boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &) const' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(2367): note: see reference to function template instantiation 'void boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &) const' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/spirit/home/support/extended_variant.hpp(83): note: see reference to function template instantiation 'boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::result_type boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::apply_visitor<const F>(Visitor &) const' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              F=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/spirit/home/support/extended_variant.hpp(83): note: see reference to function template instantiation 'boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::result_type boost::variant<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::apply_visitor<const F>(Visitor &) const' being compiled
1>          with
1>          [
1>              T0=std::string,
1>              T1=object_t,
1>              T2=list_t,
1>              T3=boost::detail::variant::void_,
1>              T4=boost::detail::variant::void_,
1>              T5=boost::detail::variant::void_,
1>              T6=boost::detail::variant::void_,
1>              T7=boost::detail::variant::void_,
1>              T8=boost::detail::variant::void_,
1>              T9=boost::detail::variant::void_,
1>              T10=boost::detail::variant::void_,
1>              T11=boost::detail::variant::void_,
1>              T12=boost::detail::variant::void_,
1>              T13=boost::detail::variant::void_,
1>              T14=boost::detail::variant::void_,
1>              T15=boost::detail::variant::void_,
1>              T16=boost::detail::variant::void_,
1>              T17=boost::detail::variant::void_,
1>              T18=boost::detail::variant::void_,
1>              T19=boost::detail::variant::void_,
1>              F=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/apply_visitor_unary.hpp(84): note: see reference to function template instantiation 'boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::result_type boost::spirit::extended_variant<std::string,object_t,list_t,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::apply_visitor<Visitor>(const F &) const' being compiled
1>          with
1>          [
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              F=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/detail/apply_visitor_unary.hpp(84): note: see reference to function template instantiation 'boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::result_type boost::spirit::extended_variant<std::string,object_t,list_t,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::apply_visitor<Visitor>(const F &) const' being compiled
1>          with
1>          [
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              F=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/unwrap_variant.hpp(60): note: see reference to function template instantiation 'boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>::result_type boost::apply_visitor<boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,const T>(const Visitor &,Visitable &)' being compiled
1>          with
1>          [
1>              T=value_t,
1>              Visitor=boost::boostache::detail::unwrap_variant_visitor<boost::boostache::extension::render::<lambda_22639c302bab892b99bc920c388df646>,void>,
1>              Visitable=value_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(92): note: see reference to function template instantiation 'void boost::boostache::extension::render<Stream,T>(Stream &,const T &,const std::string &,boost::boostache::extension::variant_attribute)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=value_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(65): note: see reference to function template instantiation 'void boost::boostache::extension::render<Stream,_Ty2>(Stream &,const T &,const std::string &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              _Ty2=value_t,
1>              T=value_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/model/basic_render_extension.hpp(92): note: see reference to function template instantiation 'void boost::boostache::extension::render<Stream&,T>(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>>&,const T &,const std::string &,boost::boostache::extension::associative_attribute)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              T=object_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/vm/detail/engine_visitor.hpp(72): note: see reference to function template instantiation 'void boost::boostache::extension::render<Stream,Context>(Stream &,const T &,const std::string &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t,
1>              T=object_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/vm/detail/engine_visitor.hpp(70): note: while compiling class template member function 'void boost::boostache::vm::detail::engine_visitor_base<Stream,Context>::operator ()(const boost::boostache::vm::ast::render &) const'
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t
1>          ]
1>  C:\Work\Boost\boost_1_59_0\boost/variant/variant.hpp(978): note: see reference to function template instantiation 'void boost::boostache::vm::detail::engine_visitor_base<Stream,Context>::operator ()(const boost::boostache::vm::ast::render &) const' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/vm/detail/engine_visitor.hpp(124): note: see reference to class template instantiation 'boost::boostache::vm::detail::engine_visitor_base<Stream,Context>' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/vm/generate.hpp(21): note: see reference to function template instantiation 'void boost::boostache::vm::detail::generate<Stream,Template,Context>(Stream &,const Template &,const Context &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Template=boost::boostache::vm::ast::node,
1>              Context=object_t
1>          ]
1>  C:\Work\github\boostache-master\include\boost/boostache/boostache.hpp(38): note: see reference to function template instantiation 'void boost::boostache::vm::generate<Stream,boost::boostache::vm::ast::node,Context>(Stream &,const Template &,const Context &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t,
1>              Template=boost::boostache::vm::ast::node
1>          ]
1>  C:\Work\github\boostache-master\examples\example3.cpp(113): note: see reference to function template instantiation 'void boost::boostache::generate<std::stringstream,object_t>(Stream &,const boost::boostache::vm::ast::node &,const Context &)' being compiled
1>          with
1>          [
1>              Stream=std::stringstream,
1>              Context=object_t
1>          ]
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
mjcaisse commented 8 years ago

Thank you for the report. I should be able to take a look at the issue later this week. We are a bit backed up at work.

meetingcpp commented 8 years ago

I run in a similar issue with VS Toolchain 2015 Update 2. Any progress?

mjcaisse commented 8 years ago

Hello @misuo and @meetingcpp - I've updated develop so that it compiles with VS 2015 Update 1. I will install Update 3 today.

mjcaisse commented 8 years ago

Develop is compiling with VS 2015 Update 3 and Boost 1.61. Let me know if it is ok for you. If not, I would recommend updating Boost.

misuo commented 8 years ago

All 3 examples now works fine (with VS 2015 Update 3 and Boost 1.59). Thanks.