Estoy usando la serialización de impulso. He compilado con: -L/opt/local/lib -lboost_serialization -stdlib=libc++
, pero tengo varios errores (ungooglable):Errores del vinculador al usar la serialización de impulso
Undefined symbols for architecture x86_64: "boost::archive::text_oarchive_impl::save(std::__1::basic_string, std::__1::allocator > const&)", referenced from: void boost::archive::save_access::save_primitive, std::__1::allocator > >(boost::archive::text_oarchive&, std::__1::basic_string, std::__1::allocator > const&) in main.o "boost::archive::basic_text_oprimitive > >::~basic_text_oprimitive()", referenced from: boost::archive::text_oarchive_impl::~text_oarchive_impl() in main.o "boost::archive::text_oarchive_impl::text_oarchive_impl(std::__1::basic_ostream >&, unsigned int)", referenced from: boost::archive::text_oarchive::text_oarchive(std::__1::basic_ostream >&, unsigned int) in main.o ld: symbol(s) not found for architecture x86_64
estoy serializar un std::vector<std::string>
:
boost::archive::text_oarchive oa(std::cout);
oa << tasks;
¿Existe un problema con mi instalación de impulso?
Las bibliotecas Boost son binarios universales que contienen tanto el código máquina de 32 bits y de 64 bits (de modo que no es el problema, supongo):
$ file libboost_serialization.dylib libboost_serialization.dylib: Mach-O universal binary with 2 architectures libboost_serialization.dylib (for architecture i386): Mach-O dynamically linked shared library i386 libboost_serialization.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
he instalado impulso usando sudo port install boost +universal
en Mac OS X 10.7.
Tal impulso fue construido con diferentes compilador que lo que se está utilizando? Tuve problemas similares con macports en el pasado, pero hace mucho tiempo para recordar los detalles. – ergosys
¿Puedes publicar un pequeño ejemplo que muestre cómo estás tratando de usar la biblioteca de serialización? No lo he usado, pero estoy bastante seguro de poder rastrear el problema una vez que tengo un caso de prueba en funcionamiento ... (trabajando como en: muestra el problema). –