Question

i have tried to build the first example i found here: Boost serialization tutorial but i get this error:

Undefined symbols:
"boost::archive::archive_exception::~archive_exception()", referenced from:
  void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<int>(int&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<int>(int&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<float>(float&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<float>(float&)in main.o
  boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save(float)in main.o
  boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save(float)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<unsigned int>(unsigned int const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<unsigned int>(unsigned int const&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::tracking_type>(boost::archive::tracking_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::tracking_type>(boost::archive::tracking_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::object_id_type>(boost::archive::object_id_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::object_id_type>(boost::archive::object_id_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<unsigned int>(unsigned int&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<unsigned int>(unsigned int&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<int>(int const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<int>(int const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::class_id_type>(boost::archive::class_id_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::class_id_type>(boost::archive::class_id_type&)in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::extended_type_info_typeid_0(char const*)", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::extended_type_info_typeid()in main.o
"boost::archive::detail::basic_oarchive::end_preamble()", referenced from:
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, float>(boost::archive::text_oarchive&, float const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::tracking_type>(boost::archive::text_oarchive&, boost::archive::tracking_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::object_reference_type>(boost::archive::text_oarchive&, boost::archive::object_reference_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::object_id_type>(boost::archive::text_oarchive&, boost::archive::object_id_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::version_type>(boost::archive::text_oarchive&, boost::archive::version_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, int>(boost::archive::text_oarchive&, int const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::class_id_reference_type>(boost::archive::text_oarchive&, boost::archive::class_id_reference_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::class_id_type>(boost::archive::text_oarchive&, boost::archive::class_id_type const&)in main.o
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(boost::archive::text_oarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in main.o
"typeinfo for boost::archive::detail::basic_oarchive", referenced from:
  boost::archive::text_oarchive& boost::serialization::smart_cast_impl::reference<boost::archive::text_oarchive&>::polymorphic::cross::cast<boost::archive::detail::basic_oarchive>(boost::archive::detail::basic_oarchive&)in main.o
  typeinfo for boost::archive::detail::common_oarchive<boost::archive::text_oarchive>in main.o
"boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override(boost::archive::class_name_type&, int)", referenced from:
  boost::archive::text_iarchive& boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><boost::archive::class_name_type>(boost::archive::class_name_type&)in main.o
"boost::archive::detail::basic_oserializer::~basic_oserializer()", referenced from:
  boost::archive::detail::oserializer<boost::archive::text_oarchive, gps_position>::~oserializer()in main.o
  boost::archive::detail::oserializer<boost::archive::text_oarchive, gps_position>::~oserializer()in main.o
  boost::archive::detail::oserializer<boost::archive::text_oarchive, gps_position>::~oserializer()in main.o
"boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)", referenced from:
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<int>(int&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<float>(float&)in main.o
  boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save(float)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<unsigned int>(unsigned int const&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::tracking_type>(boost::archive::tracking_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::object_id_type>(boost::archive::object_id_type&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<unsigned int>(unsigned int&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<int>(int const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)in main.o
  void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)in main.o
  void boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::load<boost::archive::class_id_type>(boost::archive::class_id_type&)in main.o
"typeinfo for boost::archive::archive_exception", referenced from:
  void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)in main.o
"boost::archive::basic_text_iprimitive<std::basic_istream<char, std::char_traits<char> > >::~basic_text_iprimitive()", referenced from:
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
  boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::~text_iarchive_impl()in main.o
"vtable for boost::archive::archive_exception", referenced from:
  boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)in main.o
  boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)in main.o
"boost::serialization::extended_type_info::key_unregister() const", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
"boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::text_iarchive_impl(std::basic_istream<char, std::char_traits<char> >&, unsigned int)", referenced from:
  boost::archive::text_iarchive::text_iarchive(std::basic_istream<char, std::char_traits<char> >&, unsigned int)in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::is_equal(boost::serialization::extended_type_info const&) const", referenced from:
  vtable for boost::serialization::detail::singleton_wrapper<boost::serialization::extended_type_info_typeid<gps_position> >in main.o
  vtable for boost::serialization::extended_type_info_typeid<gps_position>in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::~extended_type_info_typeid_0()", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::extended_type_info_typeid()in main.o
"boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
  void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(boost::archive::text_oarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in main.o
"boost::archive::detail::basic_oarchive::~basic_oarchive()", referenced from:
  boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()in main.o
  boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()in main.o
  boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()in main.o
"typeinfo for boost::archive::detail::basic_iarchive", referenced from:
  boost::archive::text_iarchive& boost::serialization::smart_cast_impl::reference<boost::archive::text_iarchive&>::polymorphic::cross::cast<boost::archive::detail::basic_iarchive>(boost::archive::detail::basic_iarchive&)in main.o
  typeinfo for boost::archive::detail::common_iarchive<boost::archive::text_iarchive>in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::type_unregister()", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
  boost::serialization::extended_type_info_typeid<gps_position>::~extended_type_info_typeid()in main.o
"boost::archive::detail::basic_iarchive::load_object(void*, boost::archive::detail::basic_iserializer const&)", referenced from:
  void boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive>::load_standard::invoke<gps_position>(boost::archive::text_iarchive&, gps_position const&)in main.o
"typeinfo for boost::archive::detail::basic_oserializer", referenced from:
  typeinfo for boost::archive::detail::oserializer<boost::archive::text_oarchive, gps_position>in main.o
"boost::serialization::extended_type_info::key_register() const", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::extended_type_info_typeid()in main.o
"boost::archive::detail::basic_iserializer::basic_iserializer(boost::serialization::extended_type_info const&)", referenced from:
  boost::archive::detail::iserializer<boost::archive::text_iarchive, gps_position>::iserializer()in main.o
"boost::archive::detail::basic_iarchive::~basic_iarchive()", referenced from:
  boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::~common_iarchive()in main.o
  boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::~common_iarchive()in main.o
  boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::~common_iarchive()in main.o
"boost::archive::detail::shared_ptr_helper::shared_ptr_helper()", referenced from:
  boost::archive::text_iarchive::text_iarchive(std::basic_istream<char, std::char_traits<char> >&, unsigned int)in main.o
"boost::archive::detail::basic_iserializer::~basic_iserializer()", referenced from:
  boost::archive::detail::iserializer<boost::archive::text_iarchive, gps_position>::~iserializer()in main.o
  boost::archive::detail::iserializer<boost::archive::text_iarchive, gps_position>::~iserializer()in main.o
  boost::archive::detail::iserializer<boost::archive::text_iarchive, gps_position>::~iserializer()in main.o
"boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()", referenced from:
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<float>(float const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<unsigned int>(unsigned int const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<int>(int const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)in main.o
  void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)in main.o
"typeinfo for boost::archive::detail::basic_iserializer", referenced from:
  typeinfo for boost::archive::detail::iserializer<boost::archive::text_iarchive, gps_position>in main.o
"typeinfo for boost::serialization::typeid_system::extended_type_info_typeid_0", referenced from:
  typeinfo for boost::serialization::extended_type_info_typeid<gps_position>in main.o
"boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::text_oarchive_impl(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)", referenced from:
  boost::archive::text_oarchive::text_oarchive(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)in main.o
"boost::archive::detail::shared_ptr_helper::~shared_ptr_helper()", referenced from:
  boost::archive::text_iarchive::~text_iarchive()in main.o
  boost::archive::text_iarchive::~text_iarchive()in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::type_register(std::type_info const&)", referenced from:
  boost::serialization::extended_type_info_typeid<gps_position>::extended_type_info_typeid()in main.o
"boost::archive::detail::basic_oarchive::save_object(void const*, boost::archive::detail::basic_oserializer const&)", referenced from:
  void boost::archive::detail::save_non_pointer_type<boost::archive::text_oarchive>::save_standard::invoke<gps_position>(boost::archive::text_oarchive&, gps_position const&)in main.o
"boost::serialization::typeid_system::extended_type_info_typeid_0::is_less_than(boost::serialization::extended_type_info const&) const", referenced from:
  vtable for boost::serialization::detail::singleton_wrapper<boost::serialization::extended_type_info_typeid<gps_position> >in main.o
  vtable for boost::serialization::extended_type_info_typeid<gps_position>in main.o
"boost::archive::detail::basic_oserializer::basic_oserializer(boost::serialization::extended_type_info const&)", referenced from:
  boost::archive::detail::oserializer<boost::archive::text_oarchive, gps_position>::oserializer()in main.o
"boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()", referenced from:
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
  boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()in main.o
ld: symbol(s) not found

i really can't understand where i'm wrong. my code is exactly the same as the example. can someone explain how to solve this?

Was it helpful?

Solution

It seems that you do not link boost serialization.

Right click on your project, go to Properties, under the Build tab look for Linker. There you need to specify your link path and your dynamic/static libraries.

OTHER TIPS

You must be sure that the compiler version that compile your application and your boost library are the same... I got similar error message when I try to link a library compile with tow different version of compiler, g++ 4.1 and g++ 4.4 as exemple...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top