
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<all_possible_types>. You need to explicitly state which B<of_type_X> you would like to export. This is my asumption. Good Luck, Ovanes On Mon, January 29, 2007 16:36, Marc Wäckerlin wrote:
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_iserializer<image::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_oserializer<image::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