Problems compiling everything using two different versions fo MS Visual Studio.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems compiling everything using two different versions fo MS Visual Studio.

Ted Byers-3

I have both MS VS 2005, and MS VS 2010.  The former is my license and the latter is provided by my employer.

 

I used bjam --build-type=complete to build boost v 1.45.0.  I am not sure which version of MSVC++ bjam found and used.  Howvwer, the last 3 lines of output of that process is:

 

...failed updating 53 targets...

...skipped 459 targets...

...updated 30656 targets...

 

I don't know the boost build process well enough to be able to find out what failed and why, but to have 53 failures out of over 30k targets isn't bad considering the sorts of failure rates I normally see when trying to build gcc. (yes, I also work with gcc, using cygwin), but that isn't relevant here.

 

I went through that process because I read about the need for it in your FAQ.

 

With this was done, I first tried to build QuantLib using MS VS 2010.  That failed, with the compiler complaining that the compiler version is wrong.  Hence my first question: "How do I fix this?"  I would think that apart from bug fixes MS aplied to their compiler when moving from MS VS 2008 to MS VS 2010, the latter would be able to compile anything that the former could compile.

 

I then tried to build everything using MS VS 2005, and there almost everything worked.  However, there were 13 fatal errors:

 

Error      1              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            FittedBondCurve               

Error      2              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            Bonds  

Error      3              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            Repo    

Error      4              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            DiscreteHedging               

Error      5              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            CallableBonds   

Error      6              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            Replication         

Error      7              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            CDS       

Error      8              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            BermudanSwaption               

Error      9              fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            Swap    

Error      10           fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            ConvertibleBonds               

Error      11           fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            FRA       

Error      12           fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-sgd-1_45.lib'            EquityOption    

Error      13           fatal error LNK1104: cannot open file 'libboost_unit_test_framework-vc80-mt-sgd-1_45.lib'        testsuite               

 

When I manually search the directory C:\boost_1_45_0 (the same value I used for the include directory I added to the project), I find all the libraries Quantlib sought and failed to find.  So, remembering that until now, I have used only the header only libraries in boost, did I make a mistake in where I told MS VC++ to find the libraries, or is there some other reason it didn't find the libraries it wants.  That is my last question: "How do I fix this?"

 

Thanks

 

Ted


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Problems compiling everything using two different versions fo MS Visual Studio.

Luigi Ballabio
On Mon, 2011-01-24 at 22:40 -0500, Ted Byers wrote:
> I have both MS VS 2005, and MS VS 2010.  The former is my license and
> the latter is provided by my employer.
>
> I used bjam --build-type=complete to build boost v 1.45.0.

That seemed to have worked, but you might want to use the Boost binary
installer instead.  Instructions are at
<http://quantlib.org/install.shtml>.


> With this was done, I first tried to build QuantLib using MS VS 2010.
> That failed, with the compiler complaining that the compiler version
> is wrong.  Hence my first question: "How do I fix this?"

QuantLib 1.0.1 was out before VS 2010 was released, so it doesn't
support it.  You can retrieve a not-yet-released version that supports
it from the Subversion trunk (see <http://quantlib.org/svn.shtml>.)
We'll try and make a new release shortly.


> I then tried to build everything using MS VS 2005, and there almost
> everything worked.  However, there were 13 fatal errors [...] When I
> manually search the directory C:\boost_1_45_0 (the same value I used
> for the include directory I added to the project), I find all the
> libraries Quantlib sought and failed to find.  So, remembering that
> until now, I have used only the header only libraries in boost, did I
> make a mistake in where I told MS VC++ to find the libraries, or is
> there some other reason it didn't find the libraries it wants.  That
> is my last question: "How do I fix this?"

You have to set the library directory as well as the include directory.
Instructions are at <http://quantlib.org/install.shtml> (they're for VS
2008, but work for 2005 as well.) Note that for libraries, you'll have
to choose C:\boost_1_45_0\lib instead.

Luigi


--

Present to inform, not to impress; if you inform, you will impress.
-- Fred Brooks



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users