
I've been able to successfully compile/link/run the demo_polymorphic. demo_polymorphic, however, uses no boost_class_export. So I've added it along with a virtual destructor and was still able to run the demo. But once I've added #include <boost/archive/xml_iarchive.hpp> to demo_polymorphic_A.cpp so top of the file becomes #include <boost/archive/xml_iarchive.hpp> #include <boost/archive/polymorphic_iarchive.hpp> #include <boost/archive/polymorphic_oarchive.hpp> #include <boost/serialization/export.hpp> #include "demo_polymorphic_A.hpp" BOOST_CLASS_EXPORT(A); the compiler breaks with "cannot convert parameter 1 from 'boost::archive::xml_iarchive' to 'boost::archive::polymorphic_iarchive &" in 'boost/serialization/access.hpp' Not the linker error I noticed but probably related to the source of the problem. That raises a couple of questions: - in my example i use polymorphic archives but still implement the templated version of serialize. Is that allowed? The reason for doing so is that I do not have knowledge about the concrete archive type the user supplies. - can a class be exported for polymorphic and non-polymorphic archives at the same time? Best regards, Christoph