Re: can't build quantlib with Boost 1.40

Posted by Kim Kuen Tang on
URL: http://quantlib.414.s1.nabble.com/can-t-build-quantlib-with-Boost-1-40-tp8045p8046.html

Hi Neil,

QuantLib 0.97 works well with the latest version of boost using msvc 9.

The error is about a type called boost::long_long_type which is defined
in the file boost\config\suffix.hpp(470):   __extension__ typedef long
long long_long_type; Can you first checked that this file exists on your
machine?

And also make sure that you use the correct path in your msvc include path.

Best regards,
Kim

N Z schrieb:

> Hi there,
>    I am trying to build quantlib 0.97.0 with boost 1.40 but I got lots
> of compiling errors in MS visual studio 2008 standard. I have
> verified( got the exactly the same results ) the examples on the boost
> website for both header file library and binary libraries.
> I am following the guide in "QuantLib Installation in Visual C++
> <http://quantlib.org/install/vc9.shtml>", which has a boost example in
> Appendix. I also verified it for my boost installation.
>    Still, I got lots of compiling errors: following is the first part
> of it, there are tons of errors, I have to cancel the compilation to
> stop it and it's impossible to post them all.
>
> Thanks for any help.
> Neil
>
> ******** Compiling Errors ************
> 1>------ Build started: Project: QuantLib, Configuration: Debug
> (static runtime) Win32 ------
> 1>Compiling...
> 1>brownianbridge.cpp
> 1>timegrid.cpp
> 1>termstructure.cpp
> 1>stochasticprocess..cpp
> 1>settings.cpp
> 1>prices.cpp
> 1>position.cpp
> 1>money.cpp
> 1>c:\QuanLlib\QuantLib-0.9.7\ql/currency.hpp : warning C4819: The file
> contains a character that cannot be represented in the current code
> page (936). Save the file in Unicode format to prevent data loss
> 1>C:\Boost\include\boost-1_40\boost/format/internals.hpp : warning
> C4819: The file contains a character that cannot be represented in the
> current code page (936). Save the file in Unicode format to prevent
> data loss
> 1>C:\Boost\include\boost-1_40\boost/format/alt_sstream_impl.hpp :
> warning C4819: The file contains a character that cannot be
> represented in the current code page (936). Save the file in Unicode
> format to prevent data loss
> 1>C:\Boost\include\boost-1_40\boost/format/internals.hpp : warning
> C4819: The file contains a character that cannot be represented in the
> current code page (936). Save the file in Unicode format to prevent
> data loss
> 1>issuer.cpp
> 1>interestrate.cpp
> 1>index.cpp
> 1>exercise.cpp
> 1>exchangerate.cpp
> 1>c:\QuanLlib\QuantLib-0.9.7\ql/currency.hpp : warning C4819: The file
> contains a character that cannot be represented in the current code
> page (936).. Save the file in Unicode format to prevent data loss
> 1>errors.cpp
> 1>discretizedasset.cpp
> 1>default.cpp
> 1>currency.cpp
> 1>c:\QuanLlib\QuantLib-0.9.7\ql/currency.hpp : warning C4819: The file
> contains a character that cannot be represented in the current code
> page (936). Save the file in Unicode format to prevent data loss
> 1>perturbativebarrieroptionengine.cpp
> 1>C:\Boost\include\boost-1_40\boost/integer_fwd.hpp(70) : *error
> *C2039: 'long_long_type' : is not a member of 'boost'
> 1>C:\Boost\include\boost-1_40\boost/integer_fwd.hpp(70) : *error
> *C2065: 'long_long_type' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer_fwd.hpp(70) : *error
> *C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_fwd.hpp(73) : error C2913:
> explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(67) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(73) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(79) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(85) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(119) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(126) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(132) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(138) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(144) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(150) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer_traits.hpp(156) : error
> C2913: explicit specialization; 'boost::integer_traits' is not a
> specialization of a class template
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(88) : error C2065:
> 'const_max' : undeclared identifier
> 1>        C:\Boost\include\boost-1_40\boost/integer.hpp(94) : see
> reference to class template instantiation
> 'boost::int_max_value_t<MaxValue>' being compiled
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(89) : error C2065:
> 'const_max' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(90) : error C2065:
> 'const_max' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(91) : error C2065:
> 'const_max' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(101) : error C2065:
> 'const_min' : undeclared identifier
> 1>        C:\Boost\include\boost-1_40\boost/integer.hpp(107) : see
> reference to class template instantiation
> 'boost::int_min_value_t<MinValue>' being compiled
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(102) : error C2065:
> 'const_min' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(103) : error C2065:
> 'const_min' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(104) : error C2065:
> 'const_min' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(116) : error C2065:
> 'const_max' : undeclared identifier
> 1>        C:\Boost\include\boost-1_40\boost/integer.hpp(122) : see
> reference to class template instantiation 'boost::uint_value_t<Value>'
> being compiled
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(117) : error C2065:
> 'const_max' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(118) : error C2065:
> 'const_max' : undeclared identifier
> 1>C:\Boost\include\boost-1_40\boost/integer.hpp(119) : error C2065:
> 'const_max' : undeclared identifier
> 1>amortizingfloatingratebond.cpp
> 1>c:\QuanLlib\QuantLib-0.9.7\ql/cashflows/floatingratecoupon.hpp :
> warning C4819: The file contains a character that cannot be
> represented in the current code page (936). Save the file in Unicode
> format to prevent data loss
> 1>c:\QuanLlib\QuantLib-0.9.7\ql/currency.hpp : warning C4819: The file
> contains a character that cannot be represented in the current code
> page (936). Save the file in Unicode format to prevent data loss
> 1>Build log was saved at
> "file://c:\QuanLlib\QuantLib-0.9.7\build\vc90\Debug (static
> runtime)\BuildLog.htm"
> 1>QuantLib - 27 error(s), 8 warning(s)
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
> http://p.sf.net/sfu/devconf
> ------------------------------------------------------------------------
>
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>  


------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users