Boost logo

Boost :

From: Bronek Kozicki (brok_at_[hidden])
Date: 2003-12-16 12:15:17


On Mon, 15 Dec 2003 20:21:01 +0100, Bronek Kozicki wrote:
[...]

Here's what happens:

  boost/libs/signals/src/trackable.cpp
includes (line 12) file
  boost/signals/trackable.hpp
includes (line 13) file
  boost/type_traits.hpp
includes (line 19) file
  boost/type_traits/has_nothrow_assign.hpp
includes (line 15) file
  boost/type_traits/detail/bool_trait_def.hpp
which contains (starting with line 162) following code:
  <code>
namespace boost{

template <class T, T val>
struct integral_constant
: public mpl::integral_c<T,val> {};

  <cut - template specializations/>
typedef integral_constant<bool, true> true_type;
typedef integral_constant<bool, false> false_type;
  </code>

file (mentioned above)
  boost/signals/trackable.hpp
also include (line 15) file
  boost/pending/ct_if.hpp
which contains (starting with line 22) following code:
  <code>
namespace boost {

  struct ct_if_error { };

  struct true_type { enum { value = true }; };
  struct false_type { enum { value = false }; };
  </code>

This means that symbols "true_type" and "false_type" in namespace boost
are defined twice. Problem occurs while compiling following files:
  boost/libs/signals/src/signal_base.cpp
  boost/libs/signals/src/slot.cpp
  boost/libs/signals/src/trackable.cpp
  boost/libs/thread/src/condition.cpp
  boost/libs/thread/src/mutex.cpp
  boost/libs/thread/src/recursive_mutex.cpp
  boost/libs/thread/src/thread.cpp

In case of thread library, file "ct_if.hpp" is being included through
boost/function/function_base.hpp

I'm using most current boost copy from CVS @ sf.net . How do you manage
to build boost? Have I missed something?

Regards

B.

PS. sorry for previous double post.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk