Hello, I have a problem to serialize a derived class. In some classes I use a shared_ptr<A> which acts as a interface for some other classes. Til now I had the implementation in the header and it worked fine with the BOOST_CLASS_EXPORT(B) declaration after at the end of the header file where B was defined. For performance reason (compile time) I have moved the serialization code from the header file (there is only the declaration) to the .cpp file (now I use also only the polymorphic_binary_archive). There I have also the declaration for the polymorphic_binary_archive template void B::serialize(boost::archive::polymorphic_iarchive& ar, const unsigned int file_version); template void B::serialize(boost::archive::polymorphic_oarchive& ar, const unsigned int file_version); After linking I have now some linker errors. First for the class B which is derived from A and for the class A. All linker errors use the binary_archive. If I declare the "BOOST_CLASS_EXPORT(B)" at the end in the .cpp file I get only an linker error for class A. How I can solve this? Best regards Hansjörg