Compiler poll

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

Compiler poll

Luigi Ballabio
Hi all,
        partly for curiosity, and mostly in order to know whether it's  
worthwhile to devote time to the creation of workarounds for old compilers  
rather than the implementation of new features (all in the interest of  
users, you know,) I'd like to ask QuantLib users a question: what compiler  
or compilers are you using for working with QuantLib? A couple of caveats:

- please do not reply to all the list--send you answer to me instead
- where ambiguity can arise, specify the platform (as in "gcc 3.3 on Linux"
  or "gcc 3.2 on Windows".) In all cases, please specify the version (as in
  "Visual C++ 7.1".

Finally, as someone might consider this to be sensitive information, I  
won't publish the results of the poll.

Thanks in advance,
                Luigi

----------------------------------------

Newton's Law of Gravitation:
        What goes up must come down.  But don't expect it to come down
        where you can find it.  Murphy's Law applies to Newton's.




Reply | Threaded
Open this post in threaded view
|

Re: Compiler poll

Luigi Ballabio
Hi all,
        as someone expressed interest in the aggregate results and argued  
that they wouldn't be much sensitive: is anyone who answered opposed to my  
summarizing them?

Later,
        Luigi




Reply | Threaded
Open this post in threaded view
|

Object Handler linking problem

Luca Berardi
Object Handler linking problem

Hi

have a problem when linking my own project (an XLL using XLW to interface
with Excel) with the ObjectHandler library files. I'm using Visual C++ 7.1
(.net 2003).
Please note that when compiling my project in the debug mode everything works
fine, but when I compile in the release mode I get the error message below.

Any help would be greatly appreciated.
Thanks in advance.

Luca

PS: the error message follows:


------ Build started: Project: xlProfiloLibWS, Configuration: Release Win32
------

Linking...
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> & __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::~basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: char const * __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: static char * __cdecl std::char_traits<char>::copy(char
*,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
msvcprt.lib(MSVCP71.dll) : error LNK2005: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll);
second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> & __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::~basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: char const * __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: static char * __cdecl
std::char_traits<char>::copy(char *,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj); second
definition ignored
   Creating library .\Release/xlProfiloLib.lib and object .\Release/xlProfiloLib.exp
MSVCRT.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcd.lib' conflicts
with use of other libs; use /NODEFAULTLIB:library
mStrikeTreeSwaption.obj : error LNK2001: unresolved external symbol "public:
virtual void __thiscall QuantLib::Lattice::discountTo(class QuantLib::DiscretizedAsset
&,double)const " (?discountTo@Lattice@QuantLib@@UBEXAAVDiscretizedAsset@2@N@Z)
Debug/xlProfiloLib.xll : fatal error LNK1120: 1 unresolved externals



__________________________________________________________________
Tiscali Adsl 3 Mega Flat con 3 MESI GRATIS!
Con Tiscali Adsl 3 Mega Flat navighi con la Supervelocita'
a soli 29.95 euro al mese, senza limiti di tempo. E se attivi
entro il 31 Marzo, 3 MESI sono GRATIS!
Scopri come su http://abbonati.tiscali.it/adsl/sa/2flat_tc/





Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

eric ehlers
Hi Luca

> Hi
>
> have a problem when linking my own project (an XLL using XLW to interface
> with Excel) with the ObjectHandler library files. I'm using Visual C++ 7.1
> (.net 2003).
> Please note that when compiling my project in the debug mode everything works
> fine, but when I compile in the release mode I get the error message below.

Please could you
1) Determine which runtime library is used by your project.  For
example let's suppose you're using configuration "Win32 Release" which
is set to use runtime library "Single-Threaded"
2) Build the corresponding configuration of ObjectHandler.  In this
example you'd build ObjectHandler configuration "Win32 Release
SingleThread" which uses runtime library "Single-Threaded"
3) Back in your project - ensure that the library path includes the
ObjectHandler/lib directory, but don't specify the ObjectHandler lib
file that you're linking to
4) Your project should (indirectly) #include
ObjectHandler/oh/autolink.hpp, this file will determine the runtime
library that your project is using and automatically configure your
project to link to the corresponding ObjectHandler library (e.g.
ObjectHandler-vc7-s-0_1_0.lib)

If you're still having trouble please send another message with the
details, please also specify whether you're using the latest (only)
ObjectHandler release (0.1.0) or a later CVS snapshot.

Many Thanks
Eric


Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

Luca Berardi
Hi Eric

thanks for replying.

> Please could you
> 1) Determine which runtime library is used by your project.  For
> example let's suppose you're using configuration "Win32 Release" which
> is set to use runtime library "Single-Threaded"

I have tried to compile under different configurations, i.e.:
1) Release, 2) Release Single Thread, 3) Release MT DLL.
Unfortunately I always get the same linking errors.

> 2) Build the corresponding configuration of ObjectHandler.  In this
> example you'd build ObjectHandler configuration "Win32 Release
> SingleThread" which uses the runtime library "Single-Threaded"

I did so, I compiled ObjectHandler under the configurations mentioned
above. This is what I have in the ObjectHandler/lib folder:

ObjectHandler-vc71-mt-0_1_0.lib
ObjectHandler-vc71-mt-s-0_1_0.lib
ObjectHandler-vc71-s-0_1_0.lib
ObjectHandler-vc71-mt-gd-0_1_0.lib

I guess the last one is for compiling in Debug mode, and it seems to
be the only one I need for (successfully) compiling my own project
both in Debug and in Debug MTDLL.

> 3) Back in your project - ensure that the library path includes the
> ObjectHandler/lib directory, but don't specify the ObjectHandler lib
> file that you're linking to

I checked this, and it is set correctly.

> 4) Your project should (indirectly) #include
> ObjectHandler/oh/autolink.hpp, this file will determine the runtime
> library that your project is using and automatically configure your
> project to link to the corresponding ObjectHandler library (e.g.
> ObjectHandler-vc7-s-0_1_0.lib)

My project includes <ObjectHandler/objhandler.hpp> which includes
<ObjectHandler/objhandlerdefines.hpp>, which in turn includes

#ifdef BOOST_MSVC
#  include <ObjectHandler/autolink.hpp>
#endif

Please note that I include the Boost library in my settings, hence I
expect that BOOS_MSVC be defined.

> If you're still having trouble please send another message with the
> details, please also specify whether you're using the latest (only)
> ObjectHandler release (0.1.0) or a later CVS snapshot.

I use the ObjectHandler release 0.1.0.

I hope this helps...

Luca


__________________________________________________________________
Tiscali Adsl 3 Mega Flat con 3 MESI GRATIS!
Con Tiscali Adsl 3 Mega Flat navighi con la Supervelocita'
a soli 29.95 euro al mese, senza limiti di tempo. E se attivi
entro il 31 Marzo, 3 MESI sono GRATIS!
Scopri come su http://abbonati.tiscali.it/adsl/sa/2flat_tc/





Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

Luigi Ballabio
On 03/17/05 09:54:23, Luca Berardi wrote:

>
> My project includes <ObjectHandler/objhandler.hpp> which includes
> <ObjectHandler/objhandlerdefines.hpp>, which in turn includes
>
> #ifdef BOOST_MSVC
> #  include <ObjectHandler/autolink.hpp>
> #endif
>
> Please note that I include the Boost library in my settings, hence I
> expect that BOOS_MSVC be defined.

Luca,
        if you #define BOOST_LIB_DIAGNOSTIC (either by adding it to your  
project configuration or by adding a #define before including the  
ObjectHandler headers) you should get a message from the compiler telling  
you which library it's trying to link. This might help diagnose the  
problem...

HTH,
        Luigi




Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

Luca Berardi
>Luca,
> if you #define BOOST_LIB_DIAGNOSTIC (either by adding it to your
>project configuration or by adding a #define before including the
>ObjectHandler headers) you should get a message from the compiler telling
>
>you which library it's trying to link. This might help diagnose the
>problem...

Just did it, but unfortunately I can't see any useful information in the
new output message.
This is what I get (please note that the linking section has not been modified):


------ Build started: Project: xlProfiloLibWS, Configuration: Release Win32
------

Compiling...
objectContainer.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking to lib file: ObjectHandler-vc71-mt-0_1_0.lib
longstaffSchwarz.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
i_inflationleg.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
i_creditinstrument.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
i_setting.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
i_distribution.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
latticeFunctions.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking to lib file: ObjectHandler-vc71-mt-0_1_0.lib
hullWhiteTree.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking to lib file: ObjectHandler-vc71-mt-0_1_0.lib
discretizedBermudaSwaption.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking to lib file: ObjectHandler-vc71-mt-0_1_0.lib
lmmMontecarloSimulate.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
CMSpricingEngine.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
generalintegral.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
LHPmodel.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
singlecurveonefactormodel.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
multicurveonefactormodel.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
xlwObjectHandler.cpp
c:\Programmi\XLW\xlw\XlfExcel.inl(95) : warning C4244: 'argument' : conversion
from 'double' to 'size_t', possible loss of data
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking to lib file: ObjectHandler-vc71-mt-0_1_0.lib
xlwInterface.cpp
c:\Programmi\XLW\xlw\XlfExcel.inl(95) : warning C4244: 'argument' : conversion
from 'double' to 'size_t', possible loss of data
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
mkdata.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
checkFunction.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
MonteCarloSimulate.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
cpicapfloor.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
cmsInstruments.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
settableCoupon.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
cdocoupon.cpp
Linking to lib file: QuantLib-vc71-mt-0_3_8.lib
Linking...
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> & __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::~basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: char const * __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: static char * __cdecl std::char_traits<char>::copy(char
*,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
msvcprt.lib(MSVCP71.dll) : error LNK2005: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll);
second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> & __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::~basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: char const * __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: static char * __cdecl
std::char_traits<char>::copy(char *,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj); second
definition ignored
   Creating library .\Release/xlProfiloLib.lib and object .\Release/xlProfiloLib.exp
MSVCRT.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcd.lib' conflicts
with use of other libs; use /NODEFAULTLIB:library
mStrikeTreeSwaption.obj : error LNK2001: unresolved external symbol "public:
virtual void __thiscall QuantLib::Lattice::discountTo(class QuantLib::DiscretizedAsset
&,double)const " (?discountTo@Lattice@QuantLib@@UBEXAAVDiscretizedAsset@2@N@Z)
Debug/xlProfiloLib.xll : fatal error LNK1120: 1 unresolved externals

Build log was saved at "file://c:\Dati\ProfiloLib\xlProfiloLibWS_Net\Release\BuildLog.htm"
xlProfiloLibWS - 22 error(s), 23 warning(s)


__________________________________________________________________
Tiscali Adsl 3 Mega Flat con 3 MESI GRATIS!
Con Tiscali Adsl 3 Mega Flat navighi con la Supervelocita'
a soli 29.95 euro al mese, senza limiti di tempo. E se attivi
entro il 31 Marzo, 3 MESI sono GRATIS!
Scopri come su http://abbonati.tiscali.it/adsl/sa/2flat_tc/





Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

eric ehlers
In reply to this post by Luca Berardi
Hi Luca

There's an error in the ObjectHandler project workspace.  In your case
you're linking to ObjectHandler configuration "Release MTDLL", that
project is supposed to use runtime library "Multi-Threaded DLL" but in
fact it uses run-time library "Multi-Threaded Debug".  If you correct
this error and rebuild you should be OK.

Apologies for the inconvenience and thank you for helping to identify
this problem, which will be fixed in the upcoming ObjectHandler 0.1.1
release.

Regards
Eric


Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

Luca Berardi
Eric, now it works.
Many thanks for help!

By the way -as a separate concern- I wonder whether you are planning to insert
into the Object Handler (in a future release) additional methods to do the
following things:
- erasing objects already stored;
- getting a list of all the objects already stored, e.g. as a listing of
their corresponding handles.


Best,
Luca




>-- Messaggio Originale --
>From: eric ehlers <[hidden email]>
>Reply-To: eric ehlers <[hidden email]>
>To: QuantLib users <[hidden email]>
>Subject: Re: [Quantlib-users] Object Handler linking problem
>Date: Thu, 17 Mar 2005 10:11:51 +0000
>
>
>Hi Luca
>
>There's an error in the ObjectHandler project workspace.  In your case
>you're linking to ObjectHandler configuration "Release MTDLL", that
>project is supposed to use runtime library "Multi-Threaded DLL" but in
>fact it uses run-time library "Multi-Threaded Debug".  If you correct
>this error and rebuild you should be OK.
>
>Apologies for the inconvenience and thank you for helping to identify
>this problem, which will be fixed in the upcoming ObjectHandler 0.1.1
>release.
>
>Regards
>Eric
>
>
>-------------------------------------------------------
>SF email is sponsored by - The IT Product Guide
>Read honest & candid reviews on hundreds of IT Products from real users.
>Discover which products truly live up to the hype. Start reading now.
>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
>_______________________________________________
>Quantlib-users mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-users


__________________________________________________________________
Tiscali Adsl 3 Mega Flat con 3 MESI GRATIS!
Con Tiscali Adsl 3 Mega Flat navighi con la Supervelocita'
a soli 29.95 euro al mese, senza limiti di tempo. E se attivi
entro il 31 Marzo, 3 MESI sono GRATIS!
Scopri come su http://abbonati.tiscali.it/adsl/sa/2flat_tc/





Reply | Threaded
Open this post in threaded view
|

Re: Object Handler linking problem

eric ehlers
Hi Luca

> Eric, now it works.
> Many thanks for help!

Excellent!

> By the way -as a separate concern- I wonder whether you are planning to insert
> into the Object Handler (in a future release) additional methods to do the
> following things:
> - erasing objects already stored;
> - getting a list of all the objects already stored, e.g. as a listing of
> their corresponding handles.

Sounds good, I'll include both of these features in the next release.
For my own purposes I already have code for #2, I didn't release it
because it seemed like a debug feature but now that I know there's
demand I'll release it.

btw the design of ObjectHandler has moved on somewhat since 0.1.0 -
the interface layer has been replaced with a factory function - you
might want to consider working from the latest CVS snapshot.

Regards,
Eric