Yükseltme serileştirme kullanıyorum. Beraber derlenmiş: -L/opt/local/lib -lboost_serialization -stdlib=libc++
, ancak birkaç (ungooglable) hataları var:Yükseltme serileştirme kullanılırken Linker hataları
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
Ben seri ediyorum bir std::vector<std::string>
:
boost::archive::text_oarchive oa(std::cout);
oa << tasks;
boost benim yüklemesinde bir sorun var mı? Ben sudo port install boost +universal
kullanarak destek yüklü
$ 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
:
boost kütüphaneleri hem 32-bit ve 64-bit makine kodu içeren evrensel ikili vardır (böylece sanırım sorun değil) Mac OS X 10.7'de.
Belki boost kullandığınız olandan farklı derleyici ile inşa edilmiştir? Geçmişte macports ile benzer problemlerim vardı, ama detayları hatırlamak için çok uzun zaman önce. – ergosys
Seri hale getirme kitaplığını nasıl kullanmaya çalıştığınızı gösteren küçük bir örnek gönderebilir misiniz? Kullanmadim ama calistigim bir çalisma vakti geldigimde sorunu takip edebilecegimden emindim ... (çalisir: problemi gösterir). –