Re: Link error while compiling QuantLibAddin-0.3.13 on vc-8

Posted by eric ehlers on
URL: http://quantlib.414.s1.nabble.com/Link-error-while-compiling-QuantLibAddin-0-3-13-on-vc-8-tp5154p5155.html

Hi Slava,

Normally you should use QuantLibXL (static) rather than
QuantLibXLDynamic.  If that's OK then please follow the instructions
for building QuantLibXL as shown in the build tutorial:

http://www.quantlibaddin.org/build_tutorial.html

You would only use QuantLibXLDynamic if you want the QuantLibXL XLL
separate from the ObjectHandler XLL - for example if you want to share
the object repository with some 3rd XLL that you wrote yourself.  As
you saw the QuantLibXLDynamic project is broken, it depends on the
ObjectHandler symbol "propertyValue" which is not exported across DLL
boundaries.  The quick fix is to comment out of QuantLibXLDynamic the
one reference to that symbol, in the CouponVector class.

Regards,
Eric

On 12/12/06, [hidden email] <[hidden email]> wrote:

> guys,
>
> please, could you help me - I am compiling QuantLib-0.3.13 on vc-8.
>
> Everything works fine apart from QuantLibXLDynamic (both modes - Debug
> CRTDLL and Release CRTDLL) - the linker does not see
> ObjectHandler::Object::propertyValue function.
>
> I believe that I followed all the instructions exactly as they are in your
> documentation, that is:
> - put patch into ObjectHandler
> - QuantLibAddin and QuantLibXL reside next to each other within the same
> directory
> - I (hope) do not mess up with the modes - I have compiled all the modes  for
> all the library
>
> The Error message below is (with columns Description, File, Line) (there  are
> also errors on doxygen)
>
> Error 1 error LNK2019: unresolved external symbol "public: class  boost::any
> __thiscall ObjHandler::Object::propertyValue(class
> std::basic_string<char,struct std::char_traits<char>,class  std::allocator<char> > const &)const "
> (_?propertyValue@Object@ObjHandler@@QBE?AVany@boost@@ABV?$basic_string@DU?$char_trai
> ts@D@std@@V?$allocator@D@2@@std@@@Z_
> (mailto:?propertyValue@Object@ObjHandler@@QBE?AVany@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@s
> td@@@Z) )  referenced in function "public: class
> std::basic_string<char,struct  std::char_traits<char>,class std::allocator<char> > __thiscall
> QuantLibAddin::Swaption::underlyingSwap(void)"
> (_?underlyingSwap@Swaption@QuantLibAddin@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ_
> (mailto:?underlyingSwap@Swaption@QuantLibAddin@@QAE?AV?$basic_string@DU?$char_traits@D
> @std@@V?$allocator@D@2@@std@@XZ) ) swaption.obj
>
> Error 2 fatal error LNK1120: 1 unresolved  externals
> c:\Sandboxes\QuantLib\QuantLibXL\xll\QuantLibXLDynamic-vc80-mt-0_3_13.xll 1
>
> Error 3 error LNK2019: unresolved external symbol "public: class  boost::any
> __thiscall ObjHandler::Object::propertyValue(class
> std::basic_string<char,struct std::char_traits<char>,class  std::allocator<char> > const &)const "
> (_?propertyValue@Object@ObjHandler@@QBE?AVany@boost@@ABV?$basic_string@DU?$char_trai
> ts@D@std@@V?$allocator@D@2@@std@@@Z_
> (mailto:?propertyValue@Object@ObjHandler@@QBE?AVany@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@s
> td@@@Z) )  referenced in function "public: class
> std::basic_string<char,struct  std::char_traits<char>,class std::allocator<char> > __thiscall
> QuantLibAddin::Swaption::underlyingSwap(void)"
> (_?underlyingSwap@Swaption@QuantLibAddin@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ_
> (mailto:?underlyingSwap@Swaption@QuantLibAddin@@QAE?AV?$basic_string@DU?$char_traits@D
> @std@@V?$allocator@D@2@@std@@XZ) ) swaption.obj
>
> Error 4 fatal error LNK1120: 1 unresolved  externals
> c:\Sandboxes\QuantLib\QuantLibXL\xll\QuantLibXLDynamic-vc80-mt-gd-0_3_13.xll 1
>
> Error 5 fatal error U1077: 'IDLC' : return code  '0x1' NMAKE
>
> Error 6 error PRJ0019: A tool returned an error code from  "Performing
> Makefile project actions" AddinCalc
>
> Error 7 fatal error U1077: '"C:\Program  Files\doxygen\bin\doxygen.exe"' :
> return code '0x1' NMAKE
>
> Error 8 error PRJ0019: A tool returned an error code from  "Performing
> Makefile project actions" docs-QuantLibXL
>
> many thanks,
>
> Slava
>
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://sourceforge.net/mailarchive/forum.php?forum=quantlib-users/attachments/20061212/265d27de/attachment.html
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>