|
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