$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Hansi (hansipet_at_[hidden])
Date: 2008-08-21 06:01:44
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