From: Jean-Mathieu V. <aja...@gm...> - 2014-06-24 14:32:12
|
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 <fer...@am...> 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 > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-dev |