Not sure whether this helps, but just from reading what BOOST_CLASS_EXPORT does I think you can
not export incomplete types. If B is template, then a unique name is generated by a compiler for
every specialization of B. Let's say:
template<class T>
struct B
{
...
};
B<int> is different type from B<double>. BOOST_CLASS_EXPORT will not generate export of
B
Marc Wäckerlin wrote:
But it still does not step into the correct child. After some more reading, I guess, that I'd have to use BOOST_CLASS_EXPORT(B), but that does not compile, because B is a template class.
A, B, ... are in a namespace, let's say "abc". Now, I can write: BOOST_CLASS_EXPORT(::abc::B) But this must be outside of all namespaces.
Then I get: -------------------------------------------------------------------------------- /usr/include/boost/archive/detail/iserializer.hpp:197: undefined reference to `boost::archive::detail::archive_pointer_iserializerimage::BinaryReader::~archive_pointer_iserializer()' bitsets-bitsets.o: In function `~pointer_oserializer': /usr/include/boost/archive/detail/oserializer.hpp:184: undefined reference to `boost::archive::detail::archive_pointer_oserializerimage::BinaryWriter::~archive_pointer_oserializer()' --------------------------------------------------------------------------------
What's wrong, what's missing, what do I have to do?
BTW: This newsgroup is *extremely* slow. I wait for hours and hours until I see my message!
Regards Marc
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users