Hello I read the documention and some prior postings to related topics. But none of the proposed solutions seems to work for me. My problem: I have an abstarct base class(with pure vitual function) and several derived from that. All are written in the same source/header -file. I want to serialize an object via a pointer to the base-class. When i use "ar.register<derived>();" in the template of the base-class to register the derived classes, i get a syntax error. When i export them with "BOOST_CLASS_EXPORT(derived);" or BOOST_CLASS_EXPORT_GUID(derived,"derived") it doesn't work (i think because they are all in the same file). I'm also using "BOOST_IS_ABSTRACT(base);" When i comment "oa << object;" ervything compiles fine. Uncommented i get a: boost/archive/detail/oserializer.hpp:567: error: incomplete type ` boost::STATIC_ASSERTION_FAILURE<false>' does not have member `value' error... So is there a solution (without seperating the derived classes into different files) for this problem?