linking error with serialization

::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)':
(boost::archive::text_oarchive&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)':
::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)':
::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)':
::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)':
Hi, all I have posted the similar one, but no reply. So I post a simpler program again. main.cpp #include <boost/archive/text_oarchive.hpp> #include <iostream> int main() { boost::archive::text_oarchive oa(std::cout); int i = 1; oa << i; } The above program has compile/link error as following. What is the problem? How can I fix it up? Thanks, --Kim ps) error messages /tmp/ccg9bXMk.o: In function `boost::archive::text_oarchive::text_oarchive(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive13text_oarchiveC1ERSoj+0x1f): undefined reference to `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::text_oarchive_impl(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)' /tmp/ccg9bXMk.o: In function `boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEED2Ev+0x1d): undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /tmp/ccg9bXMk.o: In function `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED2Ev+0x43): undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED2Ev+0x72): undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /tmp/ccg9bXMk.o: In function `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED0Ev+0x43): undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED0Ev+0x72): undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /tmp/ccg9bXMk.o: In function `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED1Ev+0x43): undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /tmp/ccg9bXMk.o:main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEED1Ev+0x72): more undefined references to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' follow /tmp/ccg9bXMk.o: In function `boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEED0Ev+0x1d): undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /tmp/ccg9bXMk.o: In function `boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::~common_oarchive()': main.cpp:(.gnu.linkonce.t._ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEED1Ev+0x1d): undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /tmp/ccg9bXMk.o: In function `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive17archive_exceptionC1ERKS1_+0x31): undefined reference to `vtable for boost::archive::archive_exception' main.cpp:(.gnu.linkonce.t._ZN5boost7archive17archive_exceptionC1ERKS1_+0x49): undefined reference to `vtable for boost::archive::archive_exception' /tmp/ccg9bXMk.o: In function `void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)': main.cpp:(.gnu.linkonce.t._ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_+0x28): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_+0x2d): undefined reference to `typeinfo for boost::archive::archive_exception' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13tracking_typeEEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13tracking_typeEEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13tracking_typeEEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveINS0_13tracking_typeEEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::tracking_type>(boost::archive::text_oarchive&, boost::archive::tracking_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_13tracking_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, std::basic_string<char, std::char_traits<char>, std::allocator<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveESsEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveESsEEvRT_RKT0_+0x22): undefined reference to `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_23class_id_reference_typeEEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_23class_id_reference_typeEEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_23class_id_reference_typeEEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveINS0_23class_id_reference_typeEEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `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&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_23class_id_reference_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13class_id_typeEEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13class_id_typeEEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_13class_id_typeEEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveINS0_13class_id_typeEEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `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&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_13class_id_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<int>(int const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIiEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIiEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIiEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<int>(int const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveIiEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, int>(boost::archive::text_oarchive&, int const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveEiEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_21object_reference_typeEEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_21object_reference_typeEEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_21object_reference_typeEEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveINS0_21object_reference_typeEEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `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&)':main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_21object_reference_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_14object_id_typeEEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_14object_id_typeEEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveINS0_14object_id_typeEEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveINS0_14object_id_typeEEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `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&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_14object_id_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<unsigned int>(unsigned int const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIjEEvRKT_+0x4d): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIjEEvRKT_+0x5f): undefined reference to `boost::archive::archive_exception::~archive_exception()' main.cpp:(.gnu.linkonce.t._ZN5boost7archive21basic_text_oprimitiveISoE4saveIjEEvRKT_+0x72): undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccg9bXMk.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<unsigned int>(unsigned int const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive18text_oarchive_implINS0_13text_oarchiveEE4saveIjEEvRKT_+0x15): undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccg9bXMk.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::version_type>(boost::archive::text_oarchive&, boost::archive::version_type const&)': main.cpp:(.gnu.linkonce.t._ZN5boost7archive11save_access14save_primitiveINS0_13text_oarchiveENS0_12version_typeEEEvRT_RKT0_+0x15): undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccg9bXMk.o:(.gnu.linkonce.r._ZTIN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEEE+0x18): undefined reference to `typeinfo for boost::archive::detail::basic_oarchive' collect2: ld returned 1 exit status [neodymium:~/test/serialization] g++ -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-shared --enable-threads=posix --disable-checking --with-system-zlip --enable-__cxa_atexit --disable-libnuwind-exceptions --enable-languages=c,c++ Thread model: posix gcc version 4.1.2 [neodymium:~/test/serialization] g++ -g main.cpp -I/usr/include/boost/serialization -I/usr/include/boost/archive /tmp/ccnicI4V.o: In function `text_oarchive': /usr/local/include/boost/archive/text_oarchive.hpp:100: undefined reference to `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::text_oarchive_impl(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)' /tmp/ccnicI4V.o: In function `~common_oarchive': /usr/local/include/boost/archive/detail/common_oarchive.hpp:38: undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /tmp/ccnicI4V.o: In function `~text_oarchive_impl': /usr/local/include/boost/archive/text_oarchive.hpp:85: undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /usr/local/include/boost/archive/text_oarchive.hpp:85: undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /usr/local/include/boost/archive/text_oarchive.hpp:85: undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /usr/local/include/boost/archive/text_oarchive.hpp:85: undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /usr/local/include/boost/archive/text_oarchive.hpp:85: undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' /tmp/ccnicI4V.o:/usr/local/include/boost/archive/text_oarchive.hpp:85: more undefined references to `boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::~basic_text_oprimitive()' follow /tmp/ccnicI4V.o: In function `~common_oarchive': /usr/local/include/boost/archive/detail/common_oarchive.hpp:38: undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /usr/local/include/boost/archive/detail/common_oarchive.hpp:38: undefined reference to `boost::archive::detail::basic_oarchive::~basic_oarchive()' /tmp/ccnicI4V.o: In function `archive_exception': /usr/local/include/boost/archive/archive_exception.hpp:45: undefined reference to `vtable for boost::archive::archive_exception' /usr/local/include/boost/archive/archive_exception.hpp:45: undefined reference to `vtable for boost::archive::archive_exception' /tmp/ccnicI4V.o: In function `void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)': /usr/local/include/boost/serialization/throw_exception.hpp:36: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/serialization/throw_exception.hpp:36: undefined reference to `typeinfo for boost::archive::archive_exception' /tmp/ccnicI4V.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> >
::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::tracking_type>(boost::archive::tracking_type const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::tracking_type>(boost::archive::text_oarchive&, boost::archive::tracking_type const&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /usr/local/include/boost/archive/detail/oserializer.hpp:88: undefined reference to `boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_reference_type>(boost::archive::class_id_reference_type const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::class_id_type>(boost::archive::class_id_type const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<int>(int const&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<int>(int const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, int>(boost::archive::text_oarchive&, int const&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_reference_type>(boost::archive::object_reference_type const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `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&)':/usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<boost::archive::object_id_type>(boost::archive::object_id_type const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `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&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o: In function `void boost::archive::basic_text_oprimitive<std::basic_ostream<char, std::char_traits<char> > >::save<unsigned int>(unsigned int const&)': /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /usr/local/include/boost/archive/basic_text_oprimitive.hpp:89: undefined reference to `boost::archive::archive_exception::~archive_exception()' /tmp/ccnicI4V.o: In function `void boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save<unsigned int>(unsigned int const&)': /usr/local/include/boost/archive/text_oarchive.hpp:60: undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::newtoken()' /tmp/ccnicI4V.o: In function `void boost::archive::save_access::save_primitive<boost::archive::text_oarchive, boost::archive::version_type>(boost::archive::text_oarchive&, boost::archive::version_type const&)': /usr/local/include/boost/archive/detail/oserializer.hpp:87: undefined reference to `boost::archive::detail::basic_oarchive::end_preamble()' /tmp/ccnicI4V.o:(.gnu.linkonce.r._ZTIN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEEE+0x18): undefined reference to `typeinfo for boost::archive::detail::basic_oarchive'
collect2: ld returned 1 exit status

On 3/21/2011 5:09 PM, Eun-Sung Kim wrote:
Hi, all I have posted the similar one, but no reply. So I post a simpler program again.
main.cpp #include<boost/archive/text_oarchive.hpp> #include<iostream>
int main() { boost::archive::text_oarchive oa(std::cout); int i = 1; oa<< i; }
The above program has compile/link error as following. What is the problem? How can I fix it up? Thanks,
--Kim
Are you linking to the serialization library? The serialization library isn't header-only.
participants (2)
-
Eun-Sung Kim
-
Kenny Riddile