Now I'm experiencing link problems in attempting to apply
boost.serialization to my application.
I can avoid them by commenting out the bodies of all my serialize
methods. If I leave a simple serialize method intact, I can run the
sucessfully linked application and produce an archive file.
I am linking to this serialization library:
$BOOST_ROOT/bin/boost/libs/serialization/build/libboost_serialization.a/gcc/release/runtime-link-static/boost_serialization.a
With all serialization uncommented, I get the following link errors:
../../install/libUMLModel.so: undefined reference to
`boost::archive::detail::archive_pointer_iserializerboost::archive::binary_iarchive::archive_pointer_iserializer(boost::serialization::extended_type_info
const&)'
../../install/libUMLModel.so: undefined reference to
`boost::serialization::void_downcast(boost::serialization::extended_type_info
const&, boost::serialization::extended_type_info const&, void const*, bool)'
../../install/libUMLModel.so: undefined reference to
`boost::serialization::void_upcast(boost::serialization::extended_type_info
const&, boost::serialization::extended_type_info const&, void const*, bool)'
../../install/libUMLModel.so: undefined reference to
`boost::serialization::void_cast_detail::void_caster::self_register()'
../../install/libUMLModel.so: undefined reference to
`boost::archive::detail::archive_pointer_iserializerboost::archive::binary_iarchive::find(boost::serialization::extended_type_info
const&)'
../../install/libUMLModel.so: undefined reference to
`boost::archive::basic_binary_iprimitive
::load(std::basic_string
&)' ../../install/libUMLModel.so: undefined reference to `boost::archive::detail::basic_iarchive::register_basic_serializer(boost::archive::detail::basic_iserializer const&)' ../../install/libUMLModel.so: undefined reference to `boost::archive::detail::basic_iarchive::next_object_pointer(void*)' ../../install/libUMLModel.so: undefined reference to `typeinfo for boost::archive::detail::basic_iarchive' ../../install/libUMLModel.so: undefined reference to `boost::archive::detail::basic_iarchive::load_pointer(void*&, boost::archive::detail::basic_pointer_iserializer const*, boost::archive::detail::basic_pointer_iserializer const* (*)(boost::serialization::extended_type_info const&))' ../../install/libUMLModel.so: undefined reference to `boost::archive::detail::basic_iarchive::load_object(void*, boost::archive::detail::basic_iserializer const&)'
What is the solution?