2016-01-12 13 views
3

我在尝试使用增强日志时遇到问题。我收到以下错误消息:使用增强日志时无法解析外部

1>------ Build started: Project: vms, Configuration: Release x64 ------ 
1> main.cpp 
1> Linking to lib file: libboost_system-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_date_time-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_regex-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_log-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_filesystem-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_date_time-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_thread-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_atomic-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_chrono-vc140-mt-1_60.lib 
1> Linking to lib file: libboost_log_setup-vc140-mt-1_60.lib 
1>main.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt5::aux::stream_provider<char>::release_compound(struct boost::log::v2s_mt_nt5::aux::stream_provider<char>::stream_compound *)" ([email protected][email protected]@[email protected][email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: static struct boost::log::v2s_mt_nt5::aux::stream_provider<char>::stream_compound * __cdecl boost::log::v2s_mt_nt5::aux::stream_provider<char>::allocate_compound(class boost::log::v2s_mt_nt5::record &)" ([email protected][email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "void __cdecl boost::log::v2s_mt_nt5::aux::attach_attribute_name_info(class boost::exception &,class boost::log::v2s_mt_nt5::attribute_name const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::aux::id<struct boost::log::v2s_mt_nt5::aux::process> __cdecl boost::log::v2s_mt_nt5::aux::this_process::get_id(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl boost::log::v2s_mt_nt5::aux::unhandled_exception_count(void)" ([email protected]@[email protected]@[email protected]@YAIXZ) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::attribute_name __cdecl boost::log::v2s_mt_nt5::aux::default_attribute_names::process_id(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::attribute_name __cdecl boost::log::v2s_mt_nt5::aux::default_attribute_names::message(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::attribute_name __cdecl boost::log::v2s_mt_nt5::aux::default_attribute_names::thread_id(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::attribute_name __cdecl boost::log::v2s_mt_nt5::aux::default_attribute_names::timestamp(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::attribute_name __cdecl boost::log::v2s_mt_nt5::aux::default_attribute_names::line_id(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "void __cdecl boost::log::v2s_mt_nt5::aux::code_convert_impl(wchar_t const *,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::locale const &)" ([email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::log::v2s_mt_nt5::aux::once_block_sentry::rollback(void)" ([email protected][email protected]@[email protected]@[email protected]@AEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "private: bool __cdecl boost::log::v2s_mt_nt5::aux::once_block_sentry::enter_once_block(void)const " ([email protected][email protected]@[email protected]@[email protected]@AEBA_NXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::aux::once_block_sentry::commit(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::unlock(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::lock(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::unlock_shared(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::lock_shared(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::~light_rw_mutex(void)" ([email protected]@[email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt5::aux::light_rw_mutex::light_rw_mutex(void)" ([email protected]@[email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::aux::id<struct boost::log::v2s_mt_nt5::aux::thread> const & __cdecl boost::log::v2s_mt_nt5::aux::this_thread::get_id(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt5::attribute_value_set::const_iterator __cdecl boost::log::v2s_mt_nt5::attribute_value_set::find(class boost::log::v2s_mt_nt5::attribute_name)const " ([email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt5::attribute_value_set::const_iterator __cdecl boost::log::v2s_mt_nt5::attribute_value_set::end(void)const " ([email protected][email protected][email protected]@[email protected]@[email protected]@XZ) 
1>main.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::construct(class boost::filesystem::path const &,int,unsigned __int64,class boost::log::v2s_mt_nt5::aux::light_function<bool __cdecl(void)> const &,bool)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected][email protected]@[email protected][email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::flush(void)" ([email protected][email protected]@[email protected]@[email protected]@QEAAXXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::consume(class boost::log::v2s_mt_nt5::record_view const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: unsigned __int64 __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::scan_for_files(enum boost::log::v2s_mt_nt5::sinks::file::scan_method,bool)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::set_file_collector(class boost::shared_ptr<struct boost::log::v2s_mt_nt5::sinks::file::collector> const &)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt5::sinks::text_file_backend::~text_file_backend(void)" ([email protected]@[email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt5::attribute_set::~attribute_set(void)" ([email protected][email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: __cdecl boost::log::v2s_mt_nt5::attribute_set::attribute_set(void)" ([email protected][email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt5::record_view::public_data::destroy(struct boost::log::v2s_mt_nt5::record_view::public_data const *)" ([email protected][email protected][email protected][email protected]@[email protected]@[email protected]@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: static void __cdecl boost::log::v2s_mt_nt5::attribute::impl::operator delete(void *,unsigned __int64)" ([email protected]@[email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "public: static void * __cdecl boost::log::v2s_mt_nt5::attribute::impl::operator new(unsigned __int64)" ([email protected]@[email protected]@[email protected]@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::log::v2s_mt_nt5::core::push_record_move(class boost::log::v2s_mt_nt5::record &)" ([email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: class boost::log::v2s_mt_nt5::record __cdecl boost::log::v2s_mt_nt5::core::open_record(class boost::log::v2s_mt_nt5::attribute_set const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: struct std::pair<class boost::log::v2s_mt_nt5::attribute_set::iter<0>,bool> __cdecl boost::log::v2s_mt_nt5::core::add_global_attribute(class boost::log::v2s_mt_nt5::attribute_name const &,class boost::log::v2s_mt_nt5::attribute const &)" ([email protected]@[email protected]@[email protected]@[email protected][email protected][email protected]@[email protected][email protected]@[email protected]@[email protected]@@[email protected]@[email protected]@@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: void __cdecl boost::log::v2s_mt_nt5::core::add_sink(class boost::shared_ptr<class boost::log::v2s_mt_nt5::sinks::sink> const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@Z) 
1>main.obj : error LNK2001: unresolved external symbol "public: bool __cdecl boost::log::v2s_mt_nt5::core::get_logging_enabled(void)const " ([email protected]@[email protected]@[email protected]@QEBA_NXZ) 
1>main.obj : error LNK2001: unresolved external symbol "public: static class boost::shared_ptr<class boost::log::v2s_mt_nt5::core> __cdecl boost::log::v2s_mt_nt5::core::get(void)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]) 
1>main.obj : error LNK2001: unresolved external symbol "class boost::log::v2s_mt_nt5::basic_formatter<char> __cdecl boost::log::v2s_mt_nt5::parse_formatter<char>(char const *,char const *)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) 
1>a.exe : fatal error LNK1120: 41 unresolved externals 
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========== 

我不太确定什么是错的。库在那里,链接器找到它们。只是没有在他们的符号。有小费吗?

+0

宝藏:https://stackoverflow.com/search?tab=votes&q=%5bboost-log%5d%20linker – sehe

+0

那么,无法解析的外部符号是链接器**的症状而不是**找到它们。是什么让你觉得它找到了他们? –

+1

如果您正在动态链接,请记住定义宏'BOOST_ALL_DYN_LINK'。 – Nacho

回答

10

好吧,算出来。问题是,在我用0x0501编译时,_WIN32_WINNT 0x0601编译了该提升。刚把我的地址改为0x0601,链接也没有问题。

+0

我有同样的问题,但无法更改'_WIN32_WINNT'。我的解决方案是,给Boos正确的版本,使用这些定义: '-D_WIN32_WINNT = 0x0501 -DBOOST_USE_WINAPI_VERSION = 0x0501' – DaJunkie

0

但您创建的程序或应用程序在Windows 7或更高版本中工作。它不支持Windows XP。

如果你想创建支持Windows XP的应用程序,那么你可以使用BOOST 1.58版本。 这个版本是最后一个支持Windows XP的版本。后来的版本支持的不仅仅是Windows XP(即)仅支持Vista。

+2

这是不正确的。对于Windows XP,Boost版本的默认版本为1.60。在1.60中默认更改为Vista/Server 2008,但您仍然可以为Windows XP构建Boost。看到这里:http://www.boost.org/users/history/version_1_60_0.html –

+0

好的安德烈先生。再一次感谢你。 –