Re: can't build quantlib with Boost 1.40

Posted by N Z-2 on
URL: http://quantlib.414.s1.nabble.com/can-t-build-quantlib-with-Boost-1-40-tp8045p8049.html

Hi Kim,
    I am not sure how to exclude the files from the quantlib project. If I removed the files from my local, and compiling quantlib will complain about not finding them.
   However, I tried to comment out the template specialization in integer_fwd.hpp for the long_long_type, and recompile quantlib, it works. Of course I then lose the template specialization, but this may give some hints on how to get rid of the error message finally.

Thanks,
Neil

On Wed, Sep 23, 2009 at 3:02 PM, Kim Kuen Tang <[hidden email]> wrote:
Hi Neil,

the errors dont indicate that it is related with the quantlib library.
As you can see the errors came during the compilation of the file perturbativebarrieroptionengine.cpp which is located in the folder ql\experimental\barrieroption\. You can exclude these two files from the quantlib project to see wheter it compiles or not.

HTH


Best regards,
Kim

N Z schrieb:
Hi Kim,

   The suffix.hpp is on my machine, under directory: C:\Boost\include\boost-1_40\boost\config.
My VS setting is: Tools -> Options -> Projects and Solutions -> VC++ Directories , in the 'Include files', I added 'C:\Boost\include\boost-1_40' in the path. In the 'Library Files', I added 'C:\Boost\lib'.

Thanks,
Neil

On Tue, Sep 22, 2009 at 2:57 PM, Kim Kuen Tang <[hidden email] <mailto:[hidden email]>> wrote:

   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]
       <mailto:[hidden email]>



------------------------------------------------------------------------------
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