
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<not_abstract>
::type type; return std::pair<const void *, const void *>( type::invoke(), & guid_initializer<T>::instance );
with typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< is_abstract<T>, mpl::identity<abstract>, mpl::identity<not_abstract>
::type typex; return std::pair<const void *, const void *>( typex::invoke(), & guid_initializer<T>::instance );
Note the new "x" in "typex" Robert Ramey