Login  Register

Re: upgrade solution to VC12 (Visual 2013)

Posted by Ferdinando M. Ametrano-2 on Jun 24, 2014; 2:39pm
URL: http://quantlib.414.s1.nabble.com/upgrade-solution-to-VC12-Visual-2013-tp15536p15537.html

thank you Jean-Mathieu

which solution did you use to start the automated VC12 conversion?

I did know about the boost 1.55 serialization issue, but I've read that it "can't compile because of a missing include", so I assumed it could have been an easy fix. Switching to boost's trunk is not feasible in my environment...


On Tue, Jun 24, 2014 at 4:32 PM, Jean-Mathieu Vermosen <[hidden email]> wrote:
Hi Nando,

I’ve done this upgrade from 1.4 a few weeks ago. As far as I can remember, quantlib core lib was not a big deal: I let MSVC to update the solution and added 

#elif (_MSC_VER == 1800)
#  define QL_LIB_TOOLSET  vc120"

to the autolink.hpp file.Then I upgraded the name of the generated lib and paths and recompiled.

In your case, it looks that the test suite links to the vc90 .lib, so I’d also fix linker's additional dependancies in the test suite.

Precision: I’m using boost's trunk since boost serialization 1.55 still has compiling problems under VS 2013, but I’m not sure it really matters in this case.

Best,

Jean-Mathieu Vermosen

On Jun 24, 2014, at 9:37 AM, Ferdinando M. Ametrano <[hidden email]> wrote:

Hi

I would like to upgrade to VC12. As I've got rusty at solution management I was wondering:
1) is anyone else willing to perform it
2) if I do it, should I allow VC12 to upgrade from V9, V10, or VC11 solutions?

Incidentally, the test-suite in the current VC9 solution does not link, probably because of missing CPIBond, SwaptionVolCube1, and FixedRateBondHelper files in the QuantLib project. I cannot figure out quickly the missing files, any help appreciated, error attached belo

ciao -- Nando

2>------ Build started: Project: testsuite, Configuration: Release Win32 ------
2>Linking...
2>   Creating library .\bin\QuantLib-test-suite-vc90-mt.lib and object .\bin\QuantLib-test-suite-vc90-mt.exp
2>inflationcpibond.obj : error LNK2019: unresolved external symbol "public: __thiscall QuantLib::CPIBond::CPIBond(unsigned int,double,bool,double,class QuantLib::Period const &,class boost::shared_ptr<class QuantLib::ZeroInflationIndex> const &,enum QuantLib::CPI::InterpolationType,class QuantLib::Schedule const &,class std::vector<double,class std::allocator<double> > const &,class QuantLib::DayCounter const &,enum QuantLib::BusinessDayConvention,class QuantLib::Date const &)" (??0CPIBond@QuantLib@@QAE@IN_NNABVPeriod@1@ABV?$shared_ptr@VZeroInflationIndex@QuantLib@@@boost@@W4InterpolationType@CPI@1@ABVSchedule@1@ABV?$vector@NV?$allocator@N@std@@@std@@ABVDayCounter@1@W4BusinessDayConvention@1@ABVDate@1@@Z) referenced in function "public: static void __cdecl InflationCPIBondTest::testCleanPrice(void)" (?testCleanPrice@InflationCPIBondTest@@SAXXZ)
2>markovfunctional.obj : error LNK2019: unresolved external symbol "public: __thiscall QuantLib::SwaptionVolCube1::SwaptionVolCube1(class QuantLib::Handle<class QuantLib::SwaptionVolatilityStructure> const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<double,class std::allocator<double> > const &,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,bool,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class std::vector<bool,class std::allocator<bool> > const &,bool,class boost::shared_ptr<class QuantLib::EndCriteria> const &,double,class boost::shared_ptr<class QuantLib::OptimizationMethod> const &,double,bool,unsigned int)" (??0SwaptionVolCube1@QuantLib@@QAE@ABV?$Handle@VSwaptionVolatilityStructure@QuantLib@@@1@ABV?$vector@VPeriod@QuantLib@@V?$allocator@VPeriod@QuantLib@@@std@@@std@@1ABV?$vector@NV?$allocator@N@std@@@4@ABV?$vector@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@V?$allocator@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@@2@@4@ABV?$shared_ptr@VSwapIndex@QuantLib@@@boost@@4_N3ABV?$vector@_NV?$allocator@_N@std@@@4@5ABV?$shared_ptr@VEndCriteria@QuantLib@@@8@NABV?$shared_ptr@VOptimizationMethod@QuantLib@@@8@N_NI@Z) referenced in function "class QuantLib::Handle<class QuantLib::SwaptionVolatilityStructure> __cdecl `anonymous namespace'::md0SwaptionVts(void)" (?md0SwaptionVts@?A0xcaf0c29a@@YA?AV?$Handle@VSwaptionVolatilityStructure@QuantLib@@@QuantLib@@XZ)
2>rangeaccrual.obj : error LNK2001: unresolved external symbol "public: __thiscall QuantLib::SwaptionVolCube1::SwaptionVolCube1(class QuantLib::Handle<class QuantLib::SwaptionVolatilityStructure> const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<double,class std::allocator<double> > const &,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,bool,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class std::vector<bool,class std::allocator<bool> > const &,bool,class boost::shared_ptr<class QuantLib::EndCriteria> const &,double,class boost::shared_ptr<class QuantLib::OptimizationMethod> const &,double,bool,unsigned int)" (??0SwaptionVolCube1@QuantLib@@QAE@ABV?$Handle@VSwaptionVolatilityStructure@QuantLib@@@1@ABV?$vector@VPeriod@QuantLib@@V?$allocator@VPeriod@QuantLib@@@std@@@std@@1ABV?$vector@NV?$allocator@N@std@@@4@ABV?$vector@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@V?$allocator@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@@2@@4@ABV?$shared_ptr@VSwapIndex@QuantLib@@@boost@@4_N3ABV?$vector@_NV?$allocator@_N@std@@@4@5ABV?$shared_ptr@VEndCriteria@QuantLib@@@8@NABV?$shared_ptr@VOptimizationMethod@QuantLib@@@8@N_NI@Z)
2>swaptionvolatilitycube.obj : error LNK2001: unresolved external symbol "public: __thiscall QuantLib::SwaptionVolCube1::SwaptionVolCube1(class QuantLib::Handle<class QuantLib::SwaptionVolatilityStructure> const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<class QuantLib::Period,class std::allocator<class QuantLib::Period> > const &,class std::vector<double,class std::allocator<double> > const &,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,class boost::shared_ptr<class QuantLib::SwapIndex> const &,bool,class std::vector<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > >,class std::allocator<class std::vector<class QuantLib::Handle<class QuantLib::Quote>,class std::allocator<class QuantLib::Handle<class QuantLib::Quote> > > > > const &,class std::vector<bool,class std::allocator<bool> > const &,bool,class boost::shared_ptr<class QuantLib::EndCriteria> const &,double,class boost::shared_ptr<class QuantLib::OptimizationMethod> const &,double,bool,unsigned int)" (??0SwaptionVolCube1@QuantLib@@QAE@ABV?$Handle@VSwaptionVolatilityStructure@QuantLib@@@1@ABV?$vector@VPeriod@QuantLib@@V?$allocator@VPeriod@QuantLib@@@std@@@std@@1ABV?$vector@NV?$allocator@N@std@@@4@ABV?$vector@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@V?$allocator@V?$vector@V?$Handle@VQuote@QuantLib@@@QuantLib@@V?$allocator@V?$Handle@VQuote@QuantLib@@@QuantLib@@@std@@@std@@@2@@4@ABV?$shared_ptr@VSwapIndex@QuantLib@@@boost@@4_N3ABV?$vector@_NV?$allocator@_N@std@@@4@5ABV?$shared_ptr@VEndCriteria@QuantLib@@@8@NABV?$shared_ptr@VOptimizationMethod@QuantLib@@@8@N_NI@Z)
2>piecewiseyieldcurve.obj : error LNK2019: unresolved external symbol "public: __thiscall QuantLib::FixedRateBondHelper::FixedRateBondHelper(class QuantLib::Handle<class QuantLib::Quote> const &,unsigned int,double,class QuantLib::Schedule const &,class std::vector<double,class std::allocator<double> > const &,class QuantLib::DayCounter const &,enum QuantLib::BusinessDayConvention,double,class QuantLib::Date const &)" (??0FixedRateBondHelper@QuantLib@@QAE@ABV?$Handle@VQuote@QuantLib@@@1@INABVSchedule@1@ABV?$vector@NV?$allocator@N@std@@@std@@ABVDayCounter@1@W4BusinessDayConvention@1@NABVDate@1@@Z) referenced in function "public: __thiscall `anonymous namespace'::CommonVars::CommonVars(void)" (??0CommonVars@?A0xdb80a3f2@@QAE@XZ)
2>.\bin\QuantLib-test-suite-vc90-mt.exe : fatal error LNK1120: 3 unresolved externals
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev



------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev