Richard Jennings wrote:
I'm finding an apparent dependency between some non-serialization headers and the use of BOOST_CLASS_EXPORT.
If boost/optional.hpp or boost/format.hpp or boost/bind.hpp are included before BOOST_CLASS_EXPORT is used then I get the compilation error:
I've tracked this down to a borland compiler issue. I've made the fix on my
local system but don't know where to check it (RC or Dev) yet. I don't know
if this fix will make it into the 1.33 release but here it is:
at export.hpp line 204 replace:
typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
is_abstract<T>,
mpl::identity<abstract>,
mpl::identity
::type type; return std::pair
( type::invoke(), & guid_initializer<T>::instance );
with
typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
is_abstract<T>,
mpl::identity<abstract>,
mpl::identity
::type typex; return std::pair
( typex::invoke(), & guid_initializer<T>::instance );
Note the new "x" in "typex" Robert Ramey