提升序列化的链接器错误
Linker Error with Boost Serialization
我在VS2010中使用以下代码 - 64位,我的提升库也是64位尽管我在链接器设置中添加了 Boost 库,并且还包含其他标头,但我不断收到这些链接器错误。关于如何解决此问题的任何建议?
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <iostream>
#include <sstream>
std::stringstream ss;
//--------------------------------------
class person
{
public:
person()
{
}
person(int age)
: age_(age)
{
}
int age() const
{
return age_;
}
private:
friend class boost::serialization::access;
template <typename Archive>
void serialize(Archive &ar, const unsigned int version)
{
ar & age_;
}
int age_;
};
//---------------------------------------
int main(int argc, char** argv)
{
boost::archive::text_oarchive oa(ss);
person p(31);
oa << p;
}
这些是链接器错误
Error 12 error LNK2001: unresolved external symbol "private: virtual char const * __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::get_debug_info(void)const " (?get_debug_info@extended_type_info_typeid_0@typeid_system@serialization@boost@@EEBAPEBDXZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 22 error LNK2001: unresolved external symbol "public: __cdecl boost::archive::archive_exception::archive_exception(class boost::archive::archive_exception const &)" (??0archive_exception@archive@boost@@QEAA@AEBV012@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 11 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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 10 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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 21 error LNK2001: unresolved external symbol "public: void __cdecl boost::archive::archive_exception::`vbase destructor'(void)" (??_Darchive_exception@archive@boost@@QEAAXXZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 2 error LNK2019: unresolved external symbol "__declspec(dllimport) 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)" (__imp_??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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 3 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: __cdecl boost::archive::detail::basic_oarchive::~basic_oarchive(void)" (__imp_??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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 9 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: __cdecl boost::archive::detail::basic_oserializer::~basic_oserializer(void)" (__imp_??1basic_oserializer@detail@archive@boost@@IEAA@XZ) referenced in function "public: virtual __cdecl boost::archive::detail::oserializer<class boost::archive::text_oarchive,class person>::~oserializer<class boost::archive::text_oarchive,class person>(void)" (??1?$oserializer@Vtext_oarchive@archive@boost@@Vperson@@@detail@archive@boost@@UEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 8 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: __cdecl boost::archive::detail::basic_oserializer::basic_oserializer(class boost::serialization::extended_type_info const &)" (__imp_??0basic_oserializer@detail@archive@boost@@IEAA@AEBVextended_type_info@serialization@3@@Z) referenced in function "public: __cdecl boost::archive::detail::oserializer<class boost::archive::text_oarchive,class person>::oserializer<class boost::archive::text_oarchive,class person>(void)" (??0?$oserializer@Vtext_oarchive@archive@boost@@Vperson@@@detail@archive@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 1 error LNK2019: unresolved external symbol "__declspec(dllimport) 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)" (__imp_??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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 13 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::~extended_type_info_typeid_0(void)" (__imp_??1extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAA@XZ) referenced in function "int `public: __cdecl boost::serialization::extended_type_info_typeid<class person>::extended_type_info_typeid<class person>(void)'::`1'::dtor$0" (?dtor$0@?0???0?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ@4HA) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 16 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::extended_type_info_typeid_0(char const *)" (__imp_??0extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAA@PEBD@Z) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class person>::extended_type_info_typeid<class person>(void)" (??0?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 6 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __cdecl boost::archive::basic_text_oarchive<class boost::archive::text_oarchive>::newtoken(void)" (__imp_?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<class boost::archive::object_id_type>(class boost::archive::object_id_type const &)" (??$save@Vobject_id_type@archive@boost@@@?$text_oarchive_impl@Vtext_oarchive@archive@boost@@@archive@boost@@IEAAXAEBVobject_id_type@12@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 19 error LNK2019: unresolved external symbol "__declspec(dllimport) 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 &)" (__imp_?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) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 14 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __cdecl boost::serialization::extended_type_info::key_register(void)const " (__imp_?key_register@extended_type_info@serialization@boost@@IEBAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class person>::extended_type_info_typeid<class person>(void)" (??0?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 24 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __cdecl boost::serialization::extended_type_info::key_unregister(void)const " (__imp_?key_unregister@extended_type_info@serialization@boost@@IEBAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class person>::~extended_type_info_typeid<class person>(void)" (??1?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 15 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::type_register(class type_info const &)" (__imp_?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 person>::extended_type_info_typeid<class person>(void)" (??0?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 23 error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __cdecl boost::serialization::typeid_system::extended_type_info_typeid_0::type_unregister(void)" (__imp_?type_unregister@extended_type_info_typeid_0@typeid_system@serialization@boost@@IEAAXXZ) referenced in function "public: __cdecl boost::serialization::extended_type_info_typeid<class person>::~extended_type_info_typeid<class person>(void)" (??1?$extended_type_info_typeid@Vperson@@@serialization@boost@@QEAA@XZ) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 20 error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::archive::archive_exception::archive_exception(class boost::archive::archive_exception const &)" (__imp_??0archive_exception@archive@boost@@QEAA@AEBV012@@Z) referenced in function "void __cdecl boost::serialization::throw_exception<class boost::archive::archive_exception>(class boost::archive::archive_exception const &)" (??$throw_exception@Varchive_exception@archive@boost@@@serialization@boost@@YAXAEBVarchive_exception@archive@1@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 18 error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::archive::archive_exception::archive_exception(enum boost::archive::archive_exception::_exception_code,char const *,char const *)" (__imp_??0archive_exception@archive@boost@@QEAA@W4_exception_code@012@PEBD1@Z) referenced in function "protected: void __cdecl boost::archive::basic_text_oprimitive<classstd::basic_ostream<char,struct std::char_traits<char> > >::save<class boost::archive::object_id_type>(class boost::archive::object_id_type const &)" (??$save@Vobject_id_type@archive@boost@@@?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAAXAEBVobject_id_type@12@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 7 error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl boost::archive::detail::basic_oserializer::serialized_as_pointer(void)const " (__imp_?serialized_as_pointer@basic_oserializer@detail@archive@boost@@QEBA_NXZ) referenced in function "public: virtual bool __cdecl boost::archive::detail::oserializer<class boost::archive::text_oarchive,class person>::tracking(unsigned int)const " (?tracking@?$oserializer@Vtext_oarchive@archive@boost@@Vperson@@@detail@archive@boost@@UEBA_NI@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 17 error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl boost::archive::archive_exception::`vbase destructor'(void)" (__imp_??_Darchive_exception@archive@boost@@QEAAXXZ) referenced in function "protected: void __cdecl boost::archive::basic_text_oprimitive<class std::basic_ostream<char,struct std::char_traits<char> > >::save<class boost::archive::object_id_type>(class boost::archive::object_id_type const &)" (??$save@Vobject_id_type@archive@boost@@@?$basic_text_oprimitive@V?$basic_ostream@DU?$char_traits@D@std@@@std@@@archive@boost@@IEAAXAEBVobject_id_type@12@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 4 error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl boost::archive::detail::basic_oarchive::end_preamble(void)" (__imp_?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,class boost::archive::object_id_type>(classboost::archive::text_oarchive &,class boost::archive::object_id_type const &)" (??$save_primitive@Vtext_oarchive@archive@boost@@Vobject_id_type@23@@save_access@archive@boost@@SAXAEAVtext_oarchive@12@AEBVobject_id_type@12@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
Error 5 error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl boost::archive::detail::basic_oarchive::save_object(void const *,class boost::archive::detail::basic_oserializer const &)" (__imp_?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::text_oarchive>::save_standard::invoke<class person>(class boost::archive::text_oarchive &,class person const &)" (??$invoke@Vperson@@@save_standard@?$save_non_pointer_type@Vtext_oarchive@archive@boost@@@detail@archive@boost@@SAXAEAVtext_oarchive@34@AEBVperson@@@Z) D:Tproj-0.18TestProjectQTRQTRmain.obj QTR
也许通过 boost 自动链接链接链接的库与您明确指定的库之间存在冲突。
定义值 BOOST_ALL_NO_LIB=1,并显式指定所需的库。
另一种选择是使用提升自动链接:从链接器选项中删除所有提升库,并查看任何缺失库的输出(定义 BOOST_LIB_DIAGNOSTIC=1 以获得更详细的输出)
相关文章:
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- CMake 错误:链接器命令失败,退出代码为 1 和 cpp.o 文件
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 如何修复 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- 使用cmake错误链接boost日志
- 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用):在 Macbook 上
- C++ XCODE ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -
- clang:错误:链接器命令失败,C++代码中的退出代码为 1(使用 -v 查看调用)
- 静态库中的 g++ 错误链接函数
- 未定义的参考错误链接天然函数Android
- C++编译错误:ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v
- QT Q_PROPERTY错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- OSX MOJAVE -LD:架构X86_64 clang找不到符号:错误:链接器命令失败,出口代码1
- C 错误链接器命令失败了出口代码1(使用-V查看调用)
- LD:架构x86_64 clang找不到符号:错误:链接器命令失败,出口代码1(使用-v to See
- 聚输出错误 - 链接列表
- Xcode链接器错误:链接器命令失败,退出代码为1(使用-v查看调用)
- 尝试构建C DLIB示例无法与数百个未定义的参考错误链接