Somethings I forgot to mention, I'm using gcc v3.4.3 with the boost 1.32.0 release. I've recompiled the boost_serialization.a multiple times with no affect on these link errors. Jeffrey Holle wrote:
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?