Opened 7 years ago
Last modified 7 years ago
#11973 new Support Requests
Can't work with date_time library
Reported by: | Owned by: | az_sw_dude | |
---|---|---|---|
Milestone: | To Be Determined | Component: | date_time |
Version: | Boost 1.60.0 | Severity: | Showstopper |
Keywords: | Cc: |
Description
Whenever i instantiate an object of the boost::date_time library i get an error in my application. I'm using VC7.1 compiler. To be sure that i'm not using anything wrong i also tried to compile the shipped tutorial file: "boost_1_60_0\libs\date_time\example\tutorial\io_tutorial.cpp". The error stays the same.
Operating system: Windows Server 2008 R2 Standard
Here is what i did: b2 link=shared threading=multi variant=release
cl /Od /I "D:\tools
boost_1_60_0" /D "WIN32" /D "_DEBUG" /D "_WINDLL" /Gm /EHsc /RTC1 /MDd /GS /GR /Fo"Debug/" /W3 /nologo /c /Wp64 /TP io_tutorial.cpp >> error.log
In file: error.log
io_tutorial.cpp
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'type'
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(43): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::range_detail::extract_iterator<C>' with [C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
] D:\tools
boost_1_60_0\boost\range\has_range_iterator.hpp(27): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::range_detail::range_mutable_iterator<C>' with [C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
] D:\tools
boost_1_60_0\boost\range\has_range_iterator.hpp(27): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::range_detail::has_type_impl_<T>' with [T=boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>
] D:\tools
boost_1_60_0\boost\mpl\eval_if.hpp(41): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::range_detail::has_type<T,fallback_>' with [T=boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>, fallback_=boost::mpl::bool_<false>
] D:\tools
boost_1_60_0\boost\range\has_range_iterator.hpp(73): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::mpl::eval_if<C,F1,F2>' with [C=boost::is_const<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>, F1=boost::range_detail::has_type<boost::range_detail::range_const_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,boost::mpl::bool_<false>>, F2=boost::range_detail::has_type<boost::range_detail::range_mutable_iterator<boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type>,boost::mpl::bool_<false>>
] D:\tools
boost_1_60_0\boost\range\has_range_iterator.hpp(73): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::range_detail::has_range_iterator_impl<T>' with [T=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
] D:\tools
boost_1_60_0\boost\mpl\if.hpp(63): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::has_range_iterator<T>' with [T=boost::range_iterator<std::allocator<std::string>::value_type>::type
] D:\tools
boost_1_60_0\boost\mpl\eval_if.hpp(40): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::mpl::if_<T1,T2,T3>' with [T1=boost::has_range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>, T2=boost::range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>, T3=boost::mpl::identity<void>
] D:\tools
boost_1_60_0\boost\range\iterator_range_core.hpp(451): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::mpl::eval_if<C,F1,F2>' with [C=boost::has_range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>, F1=boost::range_iterator<boost::range_iterator<std::allocator<std::string>::value_type>::type>, F2=boost::mpl::identity<void>
] D:\tools
boost_1_60_0\boost\mpl\aux_\preprocessed\plain\and.hpp(25): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::iterator_range<IteratorT>::is_compatible_range_<Source>' with [IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type, Source=boost::range_iterator<std::allocator<std::string>::value_type>::type
] D:\tools
boost_1_60_0\boost\mpl\aux_\preprocessed\plain\and.hpp(55): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::mpl::aux::and_impl<C_,T1,T2,T3,T4>' with [C_=true, T1=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range_<boost::range_iterator<std::allocator<std::string>::value_type>::type>, T2=boost::mpl::true_, T3=boost::mpl::true_, T4=boost::mpl::true_
] D:\tools
boost_1_60_0\boost\range\iterator_range_core.hpp(468): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::mpl::and_<T1,T2>' with [T1=boost::mpl::not_<boost::is_convertible<boost::range_iterator<boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>>::type,boost::iterator_range_detail::iterator_range_base<boost::range_iterator<std::allocator<std::string>::value_type>::type,boost::iterators::incrementable_traversal_tag>::iterator>>, T2=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range_<boost::range_iterator<std::allocator<std::string>::value_type>::type>
] D:\tools
boost_1_60_0\boost\core\enable_if.hpp(41): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::iterator_range<IteratorT>::is_compatible_range<Source>' with [IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type, Source=boost::range_iterator<std::allocator<std::string>::value_type>::type
] D:\tools
boost_1_60_0\boost\algorithm\string\detail\finder.hpp(68): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::enable_if<Cond,T>' with [Cond=boost::iterator_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>::is_compatible_range<boost::range_iterator<std::allocator<std::string>::value_type>::type>, T=void
] D:\tools
boost_1_60_0\boost\algorithm\string\find_format.hpp(272): Siehe Verweis auf Instanziierung der kompilierten Funktionsvorlage 'boost::iterator_range<IteratorT> boost::algorithm::detail::first_finderF<SearchIteratorT,PredicateT>::operator ()<boost::range_iterator<C>::type>(ForwardIteratorT,ForwardIteratorT) const' with [IteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type, SearchIteratorT=const boost::date_time::date_facet<boost::gregorian::date,char>::char_type *, PredicateT=boost::algorithm::is_equal, C=std::allocator<std::string>::value_type, ForwardIteratorT=boost::range_iterator<std::allocator<std::string>::value_type>::type
] D:\tools
boost_1_60_0\boost\algorithm\string\replace.hpp(657): Siehe Verweis auf Instanziierung der kompilierten Funktionsvorlage 'void boost::algorithm::find_format_all<SequenceT,boost::algorithm::detail::first_finderF<SearchIteratorT,PredicateT>,boost::algorithm::detail::const_formatF<RangeT>>(SequenceT &,FinderT,FormatterT)' with [SequenceT=boost::date_time::date_facet<boost::gregorian::date,char>::string_type, SearchIteratorT=const boost::date_time::date_facet<boost::gregorian::date,char>::char_type *, PredicateT=boost::algorithm::is_equal, RangeT=boost::iterator_range<std::basic_string<char,std::char_traits<char>,std::allocator<char>>::const_iterator>, FinderT=boost::algorithm::detail::first_finderF<const boost::date_time::date_facet<boost::gregorian::date,char>::char_type *,boost::algorithm::is_equal>, FormatterT=boost::algorithm::detail::const_formatF<boost::iterator_range<std::basic_string<char,std::char_traits<char>,std::allocator<char>>::const_iterator>>
] D:\tools
boost_1_60_0\boost\date_time\date_facet.hpp(322): Siehe Verweis auf Instanziierung der kompilierten Funktionsvorlage 'void boost::algorithm::replace_all<boost::date_time::date_facet<date_type,CharT>::string_type,const boost::date_time::date_facet<date_type,CharT>::char_type[3],std::allocator<_Ty>::value_type>(SequenceT &,Range1T (&),const Range2T &)' with [date_type=boost::gregorian::date, CharT=char, _Ty=std::string, SequenceT=boost::date_time::date_facet<boost::gregorian::date,char>::string_type, Range1T=const boost::date_time::date_facet<boost::gregorian::date,char>::char_type [3], Range2T=std::allocator<std::string>::value_type
] D:\tools
boost_1_60_0\boost\date_time\date_facet.hpp(317): Bei der Kompilierung der Memberfunktion 'std::ostreambuf_iterator<_Elem,_Traits> boost::date_time::date_facet<date_type,CharT>::do_put_tm(OutItrT,std::ios_base &,boost::date_time::date_facet<date_type,CharT>::char_type,const tm &,boost::date_time::date_facet<date_type,CharT>::string_type) const' der Klassenvorlage with [_Elem=char, _Traits=std::char_traits<char>, date_type=boost::gregorian::date, CharT=char, OutItrT=std::ostreambuf_iterator<char,std::char_traits<char>>
] D:\tools
boost_1_60_0\boost\date_time\time_facet.hpp(204): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::date_time::date_facet<date_type,CharT>' with [date_type=boost::gregorian::date, CharT=char
] io_tutorial.cpp(27): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'boost::date_time::time_facet<time_type,CharT>' with [
time_type=boost::local_time::local_date_time, CharT=char
]
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C3254: 'boost::range_detail::extract_iterator<C>': Die Klasse enth„lt die explizite šberschreibung 'ctor', wird jedoch von keiner Schnittstelle abgeleitet, die die Funktionsdeklaration enth„lt
with [
C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
]
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2838: 'ctor': Unzul„ssiger vollst„ndig angegebener Name in Elementdeklaration
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2461: 'boost::range_detail::extract_iterator<C>': Formale Parameterliste fr Konstruktor fehlt
with [
C=boost::remove_reference<boost::range_iterator<std::allocator<std::string>::value_type>::type>::type
]
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : error C2955: 'boost::type': fr die Verwendung einer Vorlagenklasse ist eine Vorlagen-Argumentliste erforderlich
D:\tools
boost_1_60_0\boost\type.hpp(14): Siehe Deklaration von 'boost::type'
D:\tools
boost_1_60_0\boost\range\mutable_iterator.hpp(37) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht m”glich; Kompilierung wird abgebrochen.
Add from Markus Zaczek: If i try to compile it with a newer compiler Version (VC++14 the one shipped with Visual studio 2015) it compiles fine