繁体   English   中英

boost :: archive和序列化的链接器错误

[英]linker errors with boost::archive and serialization

我是MFC VC ++ 12.0的新手,也是Boost库的新手。 但是,我需要使用boost库来序列化存储自定义数据类型的向量。 我阅读了DEMO_GPS的示例,并在问题中使用了类似的代码。 不幸的是,我遇到了以下链接器错误:

1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: __cdecl boost::archive::archive_exception::archive_exception(enum boost::archive::archive_exception::_exception_code,char const *,char const *)" (??0archive_exception@archive@boost@@QEAA@W4_exception_code@012@PEBD1@Z) referenced in function "protected: void __cdecl boost::archive::basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >::save_impl<double>(double const &,struct boost::mpl::bool_<1> &)" (??$save_impl@N@?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAAXAEBNAEAU?$bool_@$00@mpl@2@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl boost::archive::archive_exception::~archive_exception(void)" (??1archive_exception@archive@boost@@UEAA@XZ) referenced in function "public: void __cdecl boost::archive::archive_exception::`vbase destructor'(void)" (??_Darchive_exception@archive@boost@@QEAAXXZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: virtual char const * __cdecl boost::archive::archive_exception::what(void)const " (?what@archive_exception@archive@boost@@UEBAPEBDXZ) referenced in function "[thunk]:public: virtual char const * __cdecl boost::archive::archive_exception::what`vtordisp{4294967292,0}' (void)const " (?what@archive_exception@archive@boost@@$4PPPPPPPM@A@EBAPEBDXZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::serialization::extended_type_info::key_unregister(void)const " (?key_unregister@extended_type_info@serialization@boost@@IEBAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::~extended_type_info_typeid<class CDPoint>(void)" (??1?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::serialization::extended_type_info::key_register(void)const " (?key_register@extended_type_info@serialization@boost@@IEBAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::extended_type_info_typeid<class CDPoint>(void)" (??0?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::extended_type_info_typeid_0(char const *)" (??0extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAA@PEBD@Z) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::extended_type_info_typeid<class CDPoint>(void)" (??0?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::~extended_type_info_typeid_0(void)" (??1extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAA@XZ) referenced in function "int `public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::extended_type_info_typeid<class CDPoint>(void)'::`1'::dtor$0" (?dtor$0@?0???0?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ@4HA)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::type_register(class type_info const &)" (?type_register@extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAAXAEBVtype_info@@@Z) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::extended_type_info_typeid<class CDPoint>(void)" (??0?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::type_unregister(void)" (?type_unregister@extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class CDPoint>::~extended_type_info_typeid<class CDPoint>(void)" (??1?$extended_type_info_typeid@VCDPoint@@@serialization@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::is_less_than(class boost::serialization::extended_type_info const &)const " (?is_less_than@extended_type_info_typeid_0@typeid_system@serialization@boost@@UEBA_NAEBVextended_type_info@34@@Z)
1>SMTDoc.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::is_equal(class boost::serialization::extended_type_info const &)const " (?is_equal@extended_type_info_typeid_0@typeid_system@serialization@boost@@UEBA_NAEBVextended_type_info@34@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: void __cdecl boost::archive::detail::basic_oarchive::save_object(void const *,class boost::archive::detail::basic_oserializer const &)" (?save_object@basic_oarchive@detail@archive@boost@@QEAAXPEBXAEBVbasic_oserializer@234@@Z) referenced in function "public: static void __cdecl boost::archive::detail::save_non_pointer_type<class boost::archive::xml_oarchive>::save_standard::invoke<class CDPoint>(class boost::archive::xml_oarchive &,class CDPoint const &)" (??$invoke@VCDPoint@@@save_standard@?$save_non_pointer_type@Vxml_oarchive@archive@boost@@@detail@archive@boost@@SAXAEAVxml_oarchive@34@AEBVCDPoint@@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::detail::basic_oserializer::basic_oserializer(class boost::serialization::extended_type_info const &)" (??0basic_oserializer@detail@archive@boost@@IEAA@AEBVextended_type_info@serialization@3@@Z) referenced in function "public: __cdecl boost::archive::detail::oserializer<class boost::archive::xml_oarchive,class CDPoint>::oserializer<class boost::archive::xml_oarchive,class CDPoint>(void)" (??0?$oserializer@Vxml_oarchive@archive@boost@@VCDPoint@@@detail@archive@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::detail::basic_oserializer::~basic_oserializer(void)" (??1basic_oserializer@detail@archive@boost@@IEAA@XZ) referenced in function "public: virtual __cdecl boost::archive::detail::oserializer<class boost::archive::xml_oarchive,class CDPoint>::~oserializer<class boost::archive::xml_oarchive,class CDPoint>(void)" (??1?$oserializer@Vxml_oarchive@archive@boost@@VCDPoint@@@detail@archive@boost@@UEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >::~basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >(void)" (??1?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAA@XZ) referenced in function "protected: __cdecl boost::archive::xml_oarchive_impl<class boost::archive::xml_oarchive>::~xml_oarchive_impl<class boost::archive::xml_oarchive>(void)" (??1?$xml_oarchive_impl@Vxml_oarchive@archive@boost@@@archive@boost@@IEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_start(char const *)" (?save_start@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXPEBD@Z) referenced in function "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override<double>(struct boost::serialization::nvp<double> const &,int)" (??$save_override@N@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBU?$nvp@N@serialization@2@H@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_end(char const *)" (?save_end@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXPEBD@Z) referenced in function "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override<double>(struct boost::serialization::nvp<double> const &,int)" (??$save_override@N@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBU?$nvp@N@serialization@2@H@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::end_preamble(void)" (?end_preamble@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXXZ) referenced in function "public: static void __cdecl boost::archive::save_access::save_primitive<class boost::archive::xml_oarchive,double>(class boost::archive::xml_oarchive &,double const &)" (??$save_primitive@Vxml_oarchive@archive@boost@@N@save_access@archive@boost@@SAXAEAVxml_oarchive@12@AEBN@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::object_id_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVobject_id_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::object_id_type const >(class boost::archive::object_id_type const &)" (??$?6$$CBVobject_id_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVobject_id_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::object_reference_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVobject_reference_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::object_reference_type const >(class boost::archive::object_reference_type const &)" (??$?6$$CBVobject_reference_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVobject_reference_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::version_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVversion_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::version_type const >(class boost::archive::version_type const &)" (??$?6$$CBVversion_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVversion_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::class_id_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVclass_id_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::class_id_type const >(class boost::archive::class_id_type const &)" (??$?6$$CBVclass_id_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVclass_id_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::class_id_optional_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVclass_id_optional_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::class_id_optional_type const >(class boost::archive::class_id_optional_type const &)" (??$?6$$CBVclass_id_optional_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVclass_id_optional_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(class boost::archive::class_id_reference_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVclass_id_reference_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<class boost::archive::class_id_reference_type const >(class boost::archive::class_id_reference_type const &)" (??$?6$$CBVclass_id_reference_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBVclass_id_reference_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(struct boost::archive::class_name_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBUclass_name_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<struct boost::archive::class_name_type const >(struct boost::archive::class_name_type const &)" (??$?6$$CBUclass_name_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBUclass_name_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::save_override(struct boost::archive::tracking_type const &,int)" (?save_override@?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAAXAEBUtracking_type@23@H@Z) referenced in function "public: class boost::archive::xml_oarchive & __cdecl boost::archive::detail::interface_oarchive<class boost::archive::xml_oarchive>::operator<<<struct boost::archive::tracking_type const >(struct boost::archive::tracking_type const &)" (??$?6$$CBUtracking_type@archive@boost@@@?$interface_oarchive@Vxml_oarchive@archive@boost@@@detail@archive@boost@@QEAAAEAVxml_oarchive@23@AEBUtracking_type@23@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::basic_xml_oarchive<class boost::archive::xml_oarchive>::~basic_xml_oarchive<class boost::archive::xml_oarchive>(void)" (??1?$basic_xml_oarchive@Vxml_oarchive@archive@boost@@@archive@boost@@IEAA@XZ) referenced in function "protected: __cdecl boost::archive::xml_oarchive_impl<class boost::archive::xml_oarchive>::~xml_oarchive_impl<class boost::archive::xml_oarchive>(void)" (??1?$xml_oarchive_impl@Vxml_oarchive@archive@boost@@@archive@boost@@IEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::xml_oarchive_impl<class boost::archive::xml_oarchive>::xml_oarchive_impl<class boost::archive::xml_oarchive>(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned int)" (??0?$xml_oarchive_impl@Vxml_oarchive@archive@boost@@@archive@boost@@IEAA@AEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@I@Z) referenced in function "public: __cdecl boost::archive::xml_oarchive::xml_oarchive(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned int)" (??0xml_oarchive@archive@boost@@QEAA@AEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@I@Z)

一些答案说这种错误是由于boost库和项目32bit与64bit不匹配所致。 但是,我也尝试了x64平台上的DEMO_GPS代码,而没有链接器错误。

这是我保存文档的代码:

BOOL CSMTDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
    // TODO: Add your specialized code here and/or call the base class

    if (!CDocument::OnSaveDocument(lpszPathName))
    return FALSE;

    char* pBuffer;

    USES_CONVERSION;
    pBuffer = T2A(lpszPathName);

    std::ofstream ofs(pBuffer);
    assert(ofs.good());
    boost::archive::xml_oarchive oa(ofs);
    oa << BOOST_SERIALIZATION_NVP(minPoint);

    return CDocument::OnSaveDocument(lpszPathName);
}

以及特别包含在boost序列化中的内容:

#include <iomanip>
#include <iostream>
#include <fstream>  
#include <cstdio> 
#include <boost/config.hpp>
#if defined(BOOST_NO_STDC_NAMESPACE)
namespace std{
    using ::remove;
}
#endif
#include <boost/archive/xml_iarchive.hpp>
#include <boost/archive/xml_oarchive.hpp>

我还尝试了一个简单的Boost序列化版本,就像教程中最简单的版本一样。 但是,似乎每次我取消注释此行时:

boost::archive::text_oarchive oa(ofs);

在OnSaveDocument(LPCTSTR lpszPathName)中,将出现一些链接器错误:

1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: __cdecl boost::archive::archive_exception::archive_exception(enum boost::archive::archive_exception::_exception_code,char const *,char const *)" (??0archive_exception@archive@boost@@QEAA@W4_exception_code@012@PEBD1@Z) referenced in function "protected: void __cdecl boost::archive::basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >::save_impl<unsigned int>(unsigned int const &,struct boost::mpl::bool_<0> &)" (??$save_impl@I@?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAAXAEBIAEAU?$bool_@$0A@@mpl@2@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl boost::archive::archive_exception::~archive_exception(void)" (??1archive_exception@archive@boost@@UEAA@XZ) referenced in function "public: void __cdecl boost::archive::archive_exception::`vbase destructor'(void)" (??_Darchive_exception@archive@boost@@QEAAXXZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: virtual char const * __cdecl boost::archive::archive_exception::what(void)const " (?what@archive_exception@archive@boost@@UEBAPEBDXZ) referenced in function "[thunk]:public: virtual char const * __cdecl boost::archive::archive_exception::what`vtordisp{4294967292,0}' (void)const " (?what@archive_exception@archive@boost@@$4PPPPPPPM@A@EBAPEBDXZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::detail::basic_oarchive::~basic_oarchive(void)" (??1basic_oarchive@detail@archive@boost@@IEAA@XZ) referenced in function "public: __cdecl boost::archive::detail::common_oarchive<class boost::archive::text_oarchive>::~common_oarchive<class boost::archive::text_oarchive>(void)" (??1?$common_oarchive@Vtext_oarchive@archive@boost@@@detail@archive@boost@@QEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "public: void __cdecl boost::archive::detail::basic_oarchive::end_preamble(void)" (?end_preamble@basic_oarchive@detail@archive@boost@@QEAAXXZ) referenced in function "public: static void __cdecl boost::archive::save_access::save_primitive<class boost::archive::text_oarchive,struct boost::archive::tracking_type>(class boost::archive::text_oarchive &,struct boost::archive::tracking_type const &)" (??$save_primitive@Vtext_oarchive@archive@boost@@Utracking_type@23@@save_access@archive@boost@@SAXAEAVtext_oarchive@12@AEBUtracking_type@12@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >::~basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >(void)" (??1?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAA@XZ) referenced in function "protected: __cdecl boost::archive::text_oarchive_impl<class boost::archive::text_oarchive>::~text_oarchive_impl<class boost::archive::text_oarchive>(void)" (??1?$text_oarchive_impl@Vtext_oarchive@archive@boost@@@archive@boost@@IEAA@XZ)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::basic_text_oarchive<class boost::archive::text_oarchive>::newtoken(void)" (?newtoken@?$basic_text_oarchive@Vtext_oarchive@archive@boost@@@archive@boost@@IEAAXXZ) referenced in function "protected: void __cdecl boost::archive::text_oarchive_impl<class boost::archive::text_oarchive>::save<unsigned int>(unsigned int const &)" (??$save@I@?$text_oarchive_impl@Vtext_oarchive@archive@boost@@@archive@boost@@IEAAXAEBI@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: void __cdecl boost::archive::text_oarchive_impl<class boost::archive::text_oarchive>::save(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?save@?$text_oarchive_impl@Vtext_oarchive@archive@boost@@@archive@boost@@IEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: static void __cdecl boost::archive::save_access::save_primitive<class boost::archive::text_oarchive,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class boost::archive::text_oarchive &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$save_primitive@Vtext_oarchive@archive@boost@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@save_access@archive@boost@@SAXAEAVtext_oarchive@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>SMTDoc.obj : error LNK2019: unresolved external symbol "protected: __cdecl boost::archive::text_oarchive_impl<class boost::archive::text_oarchive>::text_oarchive_impl<class boost::archive::text_oarchive>(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned int)" (??0?$text_oarchive_impl@Vtext_oarchive@archive@boost@@@archive@boost@@IEAA@AEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@I@Z) referenced in function "public: __cdecl boost::archive::text_oarchive::text_oarchive(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned int)" (??0text_oarchive@archive@boost@@QEAA@AEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@I@Z)

我在64位计算机上链接时遇到类似的问题。 基于这个答案 我重建了boost库,它解决了问题。 尝试

 b2 --toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=64 stage

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM