|
From: Luigi B. <lui...@gm...> - 2015-02-20 09:16:15
|
It seems that it's a problem specific to Boost 1.51: see < https://svn.boost.org/trac/boost/ticket/7437>. You can use any other version. Luigi On Thu, Feb 19, 2015 at 5:19 PM, Theo Boafo <tb...@ao...> wrote: > Hi All, > > I downloaded Quantlib 1.5 and tried compiling it under Quantlib_vc10 and > get the errors below. It seems the version of boost I have 1_51 is not > compatible. 1_51 was okay for Quantlib 1.4. > > Please, What version of boost should i be using. > > Regards > > Theo > > > c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gaussian1dfloatfloatswaptionengine.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gaussian1djamshidianswaptionengine.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gaussian1dnonstandardswaptionengine.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gaussian1dswaptionengine.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gsr.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> gsrprocess.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> kahalesmilesection.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> markovfunctional.cpp > 1> mfstateprocess.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> nonstandardswap.cpp > 1> nonstandardswaption.cpp > 1> smilesectionutils.cpp > 1> extendedblackscholesprocess.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> extendedornsteinuhlenbeckprocess.cpp > 1> vegastressedblackscholesprocess.cpp > 1>c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(257): error > C2665: 'boost::hash_value' : none of the 2 overloads could convert all the > argument types > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(115): could be > 'size_t boost::hash_value(std::type_index)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(160): or > 'size_t boost::hash_value(const std::tr1::tuple<> &)' > 1> while trying to match the argument list '(const > QuantLib::TimeUnit)' > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\extensions.hpp(256) : while > compiling class template member function 'size_t boost::hash<T>::operator > ()(const T &) const' > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> c:\program > files\boost\boost_1_51\boost\functional\hash\hash.hpp(219) : see reference > to class template instantiation 'boost::hash<T>' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > 1> > c:\users\catherinechristopher\documents\quants\quants\quantlib-1.5\ql\experimental\models\gaussian1dmodel.hpp(183) > : see reference to function template instantiation 'void > boost::hash_combine<QuantLib::TimeUnit>(size_t &,const T &)' being compiled > 1> with > 1> [ > 1> T=QuantLib::TimeUnit > 1> ] > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk > _______________________________________________ > QuantLib-dev mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > > -- <https://implementingquantlib.blogspot.com> <https://twitter.com/lballabio> |