2016-01-12 2 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]_d[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

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

+0

Ну, неразрешенный внешний символ - симптом компоновщика **, а не ** обнаружение их. Что заставляет вас думать, что он их находит? –

+1

Если вы связываете динамически, помните, чтобы определить макрос 'BOOST_ALL_DYN_LINK'. – Nacho

ответ

10

Хорошо, понял. Проблема заключалась в том, что boost был скомпилирован с _WIN32_WINNT 0x0601, когда я строил 0x0501. Просто изменил мой и на 0x0601, и он отлично связан.

+0

У меня была такая же проблема, но я не мог изменить '_WIN32_WINNT'. Мое решение состояло в том, чтобы дать Boos правильную версию, используя следующие определения: '-D_WIN32_WINNT = 0x0501 -DBOOST_USE_WINAPI_VERSION = 0x0501' – DaJunkie

0

Но эта программа или приложение, которое вы создали, работает в окнах 7 или более. Он не поддерживает Windows XP.

Если вы хотите создать приложение, поддерживающее Windows XP, то вы можете использовать версию BOOST 1.58. Последняя версия, поддерживаемая Windows XP. Затем более поздние версии поддерживают больше, чем Windows XP (т. Е. Только из Vista).

+2

Это неверно. Boost выпускает до 1,60 по умолчанию для Windows XP. В 1.60 значение по умолчанию изменилось на Vista/Server 2008, но вы все равно можете создать Boost для Windows XP. См. Здесь: http://www.boost.org/users/history/version_1_60_0.html –

+0

Хорошо, мистер Андрэ. Еще раз, спасибо. –

Смежные вопросы