Boost logo

Boost Users :

From: kaineumann2001 (kaineumann2001_at_[hidden])
Date: 2003-08-11 19:53:02


Under cl(MS)/icl(Intel) compiler hash-def '_DLL' denotes dynamic
linking of the C runtime library. Therefore, signals library should
not use this to determine linkage (I may wish to statically link the
signals library, while dynamically linking c-runtime.)

see file boost/signals/detail/signals_common.hpp where the following
snippet is invalid:

#if defined(_MSC_VER) && defined(_DLL)
# define BOOST_SIGNALS_HAS_DLL_RUNTIME
#endif

#if defined(BOOST_SIGNALS_HAS_DLL_RUNTIME) && !defined
(BOOST_SIGNALS_STATIC_LINK)
# if defined(BOOST_SIGNALS_IN_LIBRARY_SOURCE)
# define BOOST_SIGNALS_DECL __declspec(dllexport)
# define BOOST_SIGNALS_BUILD_DLL
# else
# define BOOST_SIGNALS_DECL __declspec(dllimport)
# endif
#endif

here BOOST_SIGNALS_DECL is defined as __declspec(dllimport) as a
consequence of linking the c-runtime dynamically under cl/icl
compilers. But that's not what I wanted - I wanted to link
signals.lib statically.

This same bug is in the regex library. In fact, anyone able to fix
this, should search for _DLL in the BOOST headers.

Cheers,
Kai


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net