Error building mongocxx driver for windows (unresolved boost externals)

334 views
Skip to first unread message

Jesus Serrano

unread,
Jul 31, 2015, 9:48:03 PM7/31/15
to mongodb-user
Hi guys,

I'm trying to build the legacy mongodb-cxx-driver on windows, but I'm getting a lot of "Unresolved External" errors for boost methods during the link.
The build information is the following:

  • Version: Legacy branch, legacy-1.0.4 tag
  • Host OS: Windows 7 Pro x64
  • Compiler: MSVC 2010 Pro
  • Boost version: 1.58
  • Boost was built from source, build command line:
b2 --build-type=complete --toolset=msvc-10.0 --link=static --runtime-link=static --address-model=32 --threading=multi
  • Scons invocation:
scons --sharedclient --dynamic-windows --prefix=d:\dev\bin\mongodb --cpppath="d:\dev\src\external\boost\boost_1_58_0" --extrapath="d:\dev\src\external\boost\boost_1_58_0\stage" --msvc-version=10.0 --cache install
  • Output of the Scons configure phase:
scons: Reading SConscript files ...
scons version: 2.3.5
python version: 2 7 5 'final' 0
Checking whether the C++ compiler works... yes
Checking whether the C compiler works... yes
Checking if C++ compiler "$CC" is MSVC... yes
Checking if C compiler "cl" is MSVC... yes
Checking if toolchain is in 64-bit mode... yes
Checking if we are using libstdc++... no
WARNING: Cannot disable C++11 features when using MSVC
Checking if we are on a POSIX system... no
Checking for VS 2013 Update 2 or Later... no
Checking for __declspec(thread)... yes
Checking for C++11 <atomic> support... no
Checking for C++ header file boost/version.hpp... yes
Checking for C header file unistd.h... no
Checking whether timegm is declared... no
Checking whether strnlen is declared... yes
Checking for C library curl... no
scons: done reading SConscript files.
scons: Building targets ...

  •  Link command line:
Using tempfile d:\usr\jserrano\appdata\local\temp\tmp1kzqx7.lnk for command line:
link /nologo /WX /DEBUG /INCREMENTAL:NO /dll /out:build\cached\mongoclient.dll /implib:build\cached\mongoclient.lib /LIBPATH:D:\dev\src\external\boost\boost_1_58_0\stage\lib ws2_32.lib DbgHelp.lib /PDB:build\cached\mongoclient.pdb /DEBUG build\cached\mongo\base\error_codes.objs build\cached\mongo\base\global_initializer.objs build\cached\mongo\base\global_initializer_registerer.objs build\cached\mongo\base\init.objs build\cached\mongo\base\initializer.objs build\cached\mongo\base\initializer_context.objs build\cached\mongo\base\initializer_dependency_graph.objs build\cached\mongo\base\make_string_vector.objs build\cached\mongo\base\parse_number.objs build\cached\mongo\base\status.objs build\cached\mongo\base\string_data.objs build\cached\mongo\bson\bson_validate.objs build\cached\mongo\bson\bsonelement.objs build\cached\mongo\bson\bsonmisc.objs build\cached\mongo\bson\bsonobj.objs build\cached\mongo\bson\bsonobjbuilder.objs build\cached\mongo\bson\bsonobjiterator.objs build\cached\mongo\bson\bsontypes.objs build\cached\mongo\bson\oid.objs build\cached\mongo\bson\util\bson_extract.objs build\cached\mongo\client\bulk_operation_builder.objs build\cached\mongo\client\bulk_update_builder.objs build\cached\mongo\client\bulk_upsert_builder.objs build\cached\mongo\client\command_writer.objs build\cached\mongo\client\dbclient.objs build\cached\mongo\client\dbclient_rs.objs build\cached\mongo\client\dbclientcursor.objs build\cached\mongo\client\dbclientcursorshimarray.objs build\cached\mongo\client\dbclientcursorshimcursorid.objs build\cached\mongo\client\dbclientcursorshimtransform.objs build\cached\mongo\client\delete_write_operation.objs build\cached\mongo\client\exceptions.objs build\cached\mongo\client\gridfs.objs build\cached\mongo\client\index_spec.objs build\cached\mongo\client\init.objs build\cached\mongo\client\insert_write_operation.objs build\cached\mongo\client\options.objs build\cached\mongo\client\replica_set_monitor.objs build\cached\mongo\client\sasl_client_authenticate.objs build\cached\mongo\client\update_write_operation.objs build\cached\mongo\client\wire_protocol_writer.objs build\cached\mongo\client\write_concern.objs build\cached\mongo\client\write_operation_base.objs build\cached\mongo\client\write_result.objs build\cached\mongo\db\dbmessage.objs build\cached\mongo\db\json.objs build\cached\mongo\geo\coordinates2d.objs build\cached\mongo\geo\coordinates2dgeographic.objs build\cached\mongo\logger\component_message_log_domain.objs build\cached\mongo\logger\log_component.objs build\cached\mongo\logger\log_component_settings.objs build\cached\mongo\logger\log_manager.objs build\cached\mongo\logger\log_severity.objs build\cached\mongo\logger\logger.objs build\cached\mongo\logger\logstream_builder.objs build\cached\mongo\logger\message_event_utf8_encoder.objs build\cached\mongo\logger\message_log_domain.objs build\cached\mongo\platform\random.objs build\cached\mongo\platform\strnlen.objs build\cached\mongo\util\assert_util.objs build\cached\mongo\util\background.objs build\cached\mongo\util\base64.objs build\cached\mongo\util\concurrency\synchronization.objs build\cached\mongo\util\fail_point.objs build\cached\mongo\util\fail_point_registry.objs build\cached\mongo\util\fail_point_service.objs build\cached\mongo\util\hex.objs build\cached\mongo\util\log.objs build\cached\mongo\util\md5.objs build\cached\mongo\util\net\hostandport.objs build\cached\mongo\util\net\message.objs build\cached\mongo\util\net\message_port.objs build\cached\mongo\util\net\sock.objs build\cached\mongo\util\net\socket_poll.objs build\cached\mongo\util\net\ssl_manager.objs build\cached\mongo\util\password_digest.objs build\cached\mongo\util\stringutils.objs build\cached\mongo\util\text.objs build\cached\mongo\util\time_support.objs build\cached\mongo\util\timer.objs build\cached\third_party\murmurhash3\MurmurHash3.objs
link @d:\usr\jserrano\appdata\local\temp\tmp1kzqx7.lnk
   Creating library build\cached\mongoclient.lib and object build\cached\mongoclient.exp

  • Link Errors

sock.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
ssl_manager.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
time_support.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point_registry.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)"
(__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point_service.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
log.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
message_port.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
logstream_builder.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
replica_set_monitor.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)"
(__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
sasl_client_authenticate.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
update_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
wire_protocol_writer.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
delete_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
gridfs.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
index_spec.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
insert_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursor.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimarray.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimcursorid.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimtransform.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
bulk_operation_builder.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "public: __cdecl boost::thread_exception::thread_exception(int,char const *)" (??0thread_exception@boost@@QEAA@HPEBD@Z)
command_writer.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclient.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclient_rs.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" (__imp_?system_category@system@boost@@YAAEBVerror_category@12@XZ)
sock.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
ssl_manager.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
time_support.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point_registry.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point_service.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)"
(__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
log.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
message_port.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
logstream_builder.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
fail_point.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "public: bool __cdecl mongo::BSONElement::trueValue(void)const " (?trueValue@BSONElement@mongo@@QEBA_NXZ)
sasl_client_authenticate.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
update_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
wire_protocol_writer.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
delete_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
gridfs.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
index_spec.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
insert_write_operation.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursor.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimarray.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimcursorid.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclientcursorshimtransform.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
bulk_operation_builder.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
command_writer.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclient.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclient_rs.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (__imp_?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
dbclient.objs : error LNK2019: unresolved external symbol "private: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __cdecl boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::do_assign(char const *,char const *,unsigned int)" (?do_assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@AEAAAEAV12@PEBD0I@Z) referenced in function "public: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __cdecl boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::assign(char const *,char const *,unsigned int)" (?assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@QEAAAEAV12@PEBD0I@Z)
dbclient.objs : error LNK2019: unresolved external symbol "private: void __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > >,struct
boost::regex_traits<char,class boost::w32_regex_traits<char> > >::construct_init(class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags)" (?construct_init@?$perl_matcher@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@AEAAXAEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@3@W4_match_flags@regex_constants@3@@Z) referenced in function "public: __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::perl_matcher<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >(class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class boost::match_results<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > > > &,class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags,class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0?$perl_matcher@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QEAA@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0AEAV?$match_results@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@@2@AEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@2@W4_match_flags@regex_constants@2@0@Z)
dbclient.objs : error LNK2019: unresolved external symbol "public: bool __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::match(void)" (?match@?$perl_matcher@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QEAA_NXZ)
referenced in function "bool __cdecl boost::regex_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct
boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > >,char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >(class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class boost::match_results<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> > > > > &,class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags)" (??$regex_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@YA_NV?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0AEAV?$match_results@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@boost@@@2@@0@AEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@0@W4_match_flags@regex_constants@0@@Z)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (__imp_?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z) referenced in function "public: bool __cdecl boost::detail::basic_cv_list_entry::wait(struct boost::detail::timeout)" (?wait@basic_cv_list_entry@detail@boost@@QEAA_NUtimeout@23@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (__imp_?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (__imp_?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::detail::win32::handle_manager::~handle_manager(void)" (__imp_??1handle_manager@win32@detail@boost@@QEAA@XZ) referenced in function "public: __cdecl boost::detail::basic_cv_list_entry::~basic_cv_list_entry(void)" (??1basic_cv_list_entry@detail@boost@@QEAA@XZ)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::detail::win32::handle_manager::~handle_manager(void)" (__imp_??1handle_manager@win32@detail@boost@@QEAA@XZ)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::detail::win32::handle_manager::~handle_manager(void)" (__imp_??1handle_manager@win32@detail@boost@@QEAA@XZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl boost::detail::thread_data_base::~thread_data_base(void)" (__imp_??1thread_data_base@detail@boost@@UEAA@XZ) referenced in function "int `public: __cdecl boost::detail::thread_data<class boost::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > >::thread_data<class boost::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > >(class detail::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > &&)'::`1'::dtor$0" (?dtor$0@?0???0?$thread_data@V?$bind_t@XV?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@boost@@V?$list2@V?$value@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@_bi@boost@@V123@@_bi@2@@_bi@boost@@@detail@boost@@QEAA@$$QEAV?$bind_t@XV?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@boost@@V?$list2@V?$value@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@_bi@boost@@V123@@_bi@2@@_bi@2@@Z@4HA)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl boost::detail::thread_data_base::~thread_data_base(void)" (__imp_??1thread_data_base@detail@boost@@UEAA@XZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::detail::thread_data_base::thread_data_base(void)" (__imp_??0thread_data_base@detail@boost@@QEAA@XZ) referenced in function "public: __cdecl boost::detail::thread_data<class boost::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > >::thread_data<class boost::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > >(class boost::_bi::bind_t<void,class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class boost::_bi::list2<class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class boost::_bi::value<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > &&)" (??0?$thread_data@V?$bind_t@XV?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@boost@@V?$list2@V?$value@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@_bi@boost@@V123@@_bi@2@@_bi@boost@@@detail@boost@@QEAA@$$QEAV?$bind_t@XV?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@boost@@V?$list2@V?$value@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@_bi@boost@@V123@@_bi@2@@_bi@2@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::detail::thread_data_base::thread_data_base(void)" (__imp_??0thread_data_base@detail@boost@@QEAA@XZ)
replica_set_monitor.objs : error LNK2001: unresolved external symbol "public: virtual void __cdecl boost::detail::thread_data_base::notify_all_at_thread_exit(class boost::condition_variable *,class boost::mutex *)" (?notify_all_at_thread_exit@thread_data_base@detail@boost@@UEAAXPEAVcondition_variable@3@PEAVmutex@3@@Z)
background.objs : error LNK2001: unresolved external symbol "public: virtual void __cdecl boost::detail::thread_data_base::notify_all_at_thread_exit(class boost::condition_variable *,class boost::mutex *)" (?notify_all_at_thread_exit@thread_data_base@detail@boost@@UEAAXPEAVcondition_variable@3@PEAVmutex@3@@Z)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::gregorian::greg_month::greg_month(unsigned short)" (__imp_??0greg_month@gregorian@boost@@QEAA@G@Z) referenced in function "public: __cdecl boost::gregorian::date::date(enum boost::date_time::special_values)" (??0date@gregorian@boost@@QEAA@W4special_values@date_time@2@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::gregorian::greg_month::greg_month(unsigned short)" (__imp_??0greg_month@gregorian@boost@@QEAA@G@Z)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::gregorian::greg_month::greg_month(unsigned short)" (__imp_??0greg_month@gregorian@boost@@QEAA@G@Z)
time_support.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::gregorian::greg_month::greg_month(unsigned short)" (__imp_??0greg_month@gregorian@boost@@QEAA@G@Z)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void * __cdecl boost::detail::win32::handle_manager::duplicate(void)const " (__imp_?duplicate@handle_manager@win32@detail@boost@@QEBAPEAXXZ) referenced in function "public: __cdecl boost::detail::basic_cv_list_entry::basic_cv_list_entry(class boost::detail::win32::handle_manager const &)" (??0basic_cv_list_entry@detail@boost@@QEAA@AEBVhandle_manager@win32@12@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __cdecl boost::detail::win32::handle_manager::duplicate(void)const " (__imp_?duplicate@handle_manager@win32@detail@boost@@QEBAPEAXXZ)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __cdecl boost::detail::win32::handle_manager::duplicate(void)const " (__imp_?duplicate@handle_manager@win32@detail@boost@@QEBAPEAXXZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) private: void __cdecl boost::thread::start_thread(void)" (__imp_?start_thread@thread@boost@@AEAAXXZ) referenced in function "public: __cdecl boost::thread::thread<class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class boost::function<void __cdecl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)>,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??$?0V?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@boost@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@thread@boost@@QEAA@V?$function@$$A6AXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z@1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) private: void __cdecl boost::thread::start_thread(void)" (__imp_?start_thread@thread@boost@@AEAAXXZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class boost::detail::win32::handle_manager & __cdecl boost::detail::win32::handle_manager::operator=(void *)" (__imp_??4handle_manager@win32@detail@boost@@QEAAAEAV0123@PEAX@Z) referenced in function "private: class boost::intrusive_ptr<class boost::detail::basic_cv_list_entry> __cdecl boost::detail::basic_condition_variable::get_wait_entry(void)" (?get_wait_entry@basic_condition_variable@detail@boost@@AEAA?AV?$intrusive_ptr@Vbasic_cv_list_entry@detail@boost@@@3@XZ)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class boost::detail::win32::handle_manager & __cdecl boost::detail::win32::handle_manager::operator=(void *)" (__imp_??4handle_manager@win32@detail@boost@@QEAAAEAV0123@PEAX@Z)
synchronization.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class boost::detail::win32::handle_manager & __cdecl boost::detail::win32::handle_manager::operator=(void *)" (__imp_??4handle_manager@win32@detail@boost@@QEAAAEAV0123@PEAX@Z)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::thread::~thread(void)" (__imp_??1thread@boost@@QEAA@XZ) referenced
in function "private: bool __cdecl mongo::ReplicaSetMonitor::Refresher::receivedIsMasterFromMaster(struct mongo::ReplicaSetMonitor::IsMasterReply const &)" (?receivedIsMasterFromMaster@Refresher@ReplicaSetMonitor@mongo@@AEAA_NAEBUIsMasterReply@23@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl boost::thread::~thread(void)" (__imp_??1thread@boost@@QEAA@XZ)
replica_set_monitor.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl boost::thread::detach(void)" (__imp_?detach@thread@boost@@QEAAXXZ) referenced in function "private: bool __cdecl mongo::ReplicaSetMonitor::Refresher::receivedIsMasterFromMaster(struct mongo::ReplicaSetMonitor::IsMasterReply const &)" (?receivedIsMasterFromMaster@Refresher@ReplicaSetMonitor@mongo@@AEAA_NAEBUIsMasterReply@23@@Z)
background.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __cdecl boost::thread::detach(void)" (__imp_?detach@thread@boost@@QEAAXXZ)
logstream_builder.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) void * __cdecl boost::detail::get_tss_data(void const *)" (__imp_?get_tss_data@detail@boost@@YAPEAXPEBX@Z) referenced in function "public: class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > * __cdecl boost::thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >::get(void)const " (?get@?$thread_specific_ptr@V?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@@boost@@QEBAPEAV?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@XZ)
time_support.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) void * __cdecl boost::detail::get_tss_data(void const *)" (__imp_?get_tss_data@detail@boost@@YAPEAXPEBX@Z)
logstream_builder.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void *,bool)" (__imp_?set_tss_data@detail@boost@@YAXPEBXV?$shared_ptr@Utss_cleanup_function@detail@boost@@@2@PEAX_N@Z) referenced in function "public: __cdecl boost::thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >::~thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >(void)" (??1?$thread_specific_ptr@V?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@@boost@@QEAA@XZ)
time_support.objs : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void *,bool)" (__imp_?set_tss_data@detail@boost@@YAXPEBXV?$shared_ptr@Utss_cleanup_function@detail@boost@@@2@PEAX_N@Z)
time_support.objs : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl boost::thread::sleep(class boost::posix_time::ptime const &)" (__imp_?sleep@thread@boost@@SAXAEBVptime@posix_time@2@@Z) referenced in function "void __cdecl mongo::sleepmicros(__int64)" (?sleepmicros@mongo@@YAX_J@Z)
build\cached\mongoclient.dll : fatal error LNK1120: 19 unresolved externals
scons: *** [build\cached\mongoclient.dll] Error 1120

It seems that the linker is not finding some boost exported methods. I've dumped the boost .lib files with DUMPBIN utility, and all the methods are present in the libraries. Some think that seems weird is that the linker is trying to find the methods with __cdecl calling convention, but this the missing functions are class methods, so I think that the calling convention must be __thiscall.

Any ideas on this issue?

PD: I've tried to generate the mongodb driver with prebuilt boost libraries and also with VS 2013 toolchain, and I'm having the same exact error.

Thanks in advance.




Andrew Morrow

unread,
Aug 1, 2015, 10:09:47 AM8/1/15
to mongod...@googlegroups.com

I think that the way you have built boost and the way you are trying to build the driver are in conflict.

You have built boost as static archives, using the static windows runtime library. However, you have asked the mongo driver to build as a shared library, with the dynamic runtime library. There is an assumption baked into the C++ driver build system that if you ask for dynamic windows, that you want dynamic boost. In other words, --dynamic-windows implies --dynamic-boost, which in turn defines BOOST_ALL_DYN_LINK, which I'm pretty sure you don't want defined when compiling against boost as you have built it.

So, you can try to override that assumption by building the driver with --dynamic-windows --dynamic-boost=off, but I think the larger question is whether what you are doing is advisable. By linking the dynamic client library to a static version of boost, you will be creating a libmongoclient.dll that contains all of the boost symbols. Additionally, linking boost to the static windows runtime but the mongoclient to the dynamic windows runtime is a bad idea, especially if you are statically combining the boost symbols into the mongoclient.dll.

I would suggest going either fully static, building boost as you have and the driver without --dynamic-windows or --sharedclient, or going fully dynamic, and rebuilding boost as DLLs and against the dynamic windows runtime, and keep the driver build as is. In any event, you want both boost and the client driver to use the same windows runtime.

Please note that applications that consume a static libmongoclient must define STATIC_LIBMONGOCLIENT when compiling against the headers.

Please let me know if you have any further questions.

Thanks,
Andrew

Jesus Serrano

unread,
Aug 3, 2015, 5:16:11 AM8/3/15
to mongodb-user
Thanks Andrew, that solved the problem.

Thomas Le Guerroué Drévillon

unread,
Dec 9, 2015, 8:26:33 PM12/9/15
to mongodb-user
Hi Andrew,

I do have a similar problem and this is the only relevant thread I could find. I try to compile both my boost and mongo for windows, msvc 12, /MD and static but end up having compilation errors inside the project that tries to use mongo.
  • Version: Legacy branch, legacy-1.1.0 tag
  • Host OS: Windows 7 Pro x64
  • Compiler: MSVC 2013 Pro
  • Boost version: 1.59

Here is the boost commant line:
b2 toolset=msvc-12.0 link=static threading=multi runtime-link=static variant=debug

Here is the mongo driver command line:
scons --cpppath="C:\boost" --dbg=on --msvc-version=12.0 --dynamic-windows --dynamic-boost=off

And the STATIC_LIBMONGOCLIENT preprocessor definition is present.

I can use boost in my project, but if I attempt to use mongo I start getting compile errors.

Error    89    error LNK1120: 11 unresolved externals    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\x64\Debug\\WebExporter.exe    WebExporter
Error    81    error LNK2001: unresolved external symbol "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    82    error LNK2001: unresolved external symbol "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    47    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(sasl_client_authenticate.obj)    WebExporter
Error    48    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(ssl_manager.obj)    WebExporter
Error    49    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    50    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(update_write_operation.obj)    WebExporter
Error    51    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(delete_write_operation.obj)    WebExporter
Error    52    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(wire_protocol_writer.obj)    WebExporter
Error    53    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimarray.obj)    WebExporter
Error    54    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimcursorid.obj)    WebExporter
Error    55    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimtransform.obj)    WebExporter
Error    56    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(insert_write_operation.obj)    WebExporter
Error    57    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(index_spec.obj)    WebExporter
Error    58    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(message_port.obj)    WebExporter
Error    59    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient_rs.obj)    WebExporter
Error    60    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursor.obj)    WebExporter
Error    61    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point_registry.obj)    WebExporter
Error    62    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point_service.obj)    WebExporter
Error    63    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(command_writer.obj)    WebExporter
Error    64    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(bulk_operation_builder.obj)    WebExporter
Error    65    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(log.obj)    WebExporter
Error    66    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(time_support.obj)    WebExporter
Error    67    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    68    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point.obj)    WebExporter
Error    69    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\main.obj    WebExporter
Error    70    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(sock.obj)    WebExporter
Error    71    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient.obj)    WebExporter
Error    72    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(logstream_builder.obj)    WebExporter
Error    21    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(sasl_client_authenticate.obj)    WebExporter
Error    22    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(ssl_manager.obj)    WebExporter
Error    23    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    24    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(update_write_operation.obj)    WebExporter
Error    25    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(delete_write_operation.obj)    WebExporter
Error    26    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(wire_protocol_writer.obj)    WebExporter
Error    27    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimarray.obj)    WebExporter
Error    28    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimcursorid.obj)    WebExporter
Error    29    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursorshimtransform.obj)    WebExporter
Error    30    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(insert_write_operation.obj)    WebExporter
Error    31    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(index_spec.obj)    WebExporter
Error    32    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(message_port.obj)    WebExporter
Error    33    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient_rs.obj)    WebExporter
Error    34    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclientcursor.obj)    WebExporter
Error    35    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point_registry.obj)    WebExporter
Error    36    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point_service.obj)    WebExporter
Error    37    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(command_writer.obj)    WebExporter
Error    38    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(bulk_operation_builder.obj)    WebExporter
Error    39    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(log.obj)    WebExporter
Error    40    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(time_support.obj)    WebExporter
Error    41    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    42    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(fail_point.obj)    WebExporter
Error    43    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\main.obj    WebExporter
Error    44    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(sock.obj)    WebExporter
Error    45    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient.obj)    WebExporter
Error    46    error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(logstream_builder.obj)    WebExporter
Error    86    error LNK2001: unresolved external symbol "private: bool __cdecl boost::thread::start_thread_noexcept(void)" (?start_thread_noexcept@thread@boost@@AEAA_NXZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    84    error LNK2001: unresolved external symbol "public: virtual __cdecl boost::detail::thread_data_base::~thread_data_base(void)" (??1thread_data_base@detail@boost@@UEAA@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    88    error LNK2001: unresolved external symbol "public: void __cdecl boost::thread::detach(void)" (?detach@thread@boost@@QEAAXXZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(replica_set_monitor.obj)    WebExporter
Error    79    error LNK2001: unresolved external symbol "void * __cdecl boost::detail::get_tss_data(void const *)" (?get_tss_data@detail@boost@@YAPEAXPEBX@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(time_support.obj)    WebExporter
Error    77    error LNK2001: unresolved external symbol "void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void *,bool)" (?set_tss_data@detail@boost@@YAXPEBXV?$shared_ptr@Utss_cleanup_function@detail@boost@@@2@PEAX_N@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(time_support.obj)    WebExporter
Error    80    error LNK2019: unresolved external symbol "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z) referenced in function "void __cdecl boost::this_thread::interruptible_wait(class boost::posix_time::ptime const &)" (?interruptible_wait@this_thread@boost@@YAXAEBVptime@posix_time@2@@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(time_support.obj)    WebExporter
Error    85    error LNK2019: unresolved external symbol "private: bool __cdecl boost::thread::start_thread_noexcept(void)" (?start_thread_noexcept@thread@boost@@AEAA_NXZ) referenced in function "private: void __cdecl boost::thread::start_thread(void)" (?start_thread@thread@boost@@AEAAXXZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    73    error LNK2019: unresolved external symbol "private: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __cdecl boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::do_assign(char const *,char const *,unsigned int)" (?do_assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@AEAAAEAV12@PEBD0I@Z) referenced in function "public: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __cdecl boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::assign(char const *,char const *,unsigned int)" (?assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@QEAAAEAV12@PEBD0I@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient.obj)    WebExporter
Error    75    error LNK2019: unresolved external symbol "private: void __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::construct_init(class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags)" (?construct_init@?$perl_matcher@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@AEAAXAEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@3@W4_match_flags@regex_constants@3@@Z) referenced in function "public: __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::perl_matcher<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >(class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class boost::match_results<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > > > &,class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags,class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >)" (??0?$perl_matcher@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QEAA@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@0AEAV?$match_results@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@@2@AEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@2@W4_match_flags@regex_constants@2@0@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient.obj)    WebExporter
Error    74    error LNK2019: unresolved external symbol "public: bool __cdecl boost::re_detail::perl_matcher<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::match(void)" (?match@?$perl_matcher@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QEAA_NXZ) referenced in function "bool __cdecl boost::regex_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > >,char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >(class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class boost::match_results<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > >,class std::allocator<struct boost::sub_match<class std::_String_const_iterator<class std::_String_val<struct std::_Simple_types<char> > > > > > &,class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags)" (??$regex_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@YA_NV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@0AEAV?$match_results@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@V?$allocator@U?$sub_match@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@boost@@@2@@0@AEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@0@W4_match_flags@regex_constants@0@@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(dbclient.obj)    WebExporter
Error    83    error LNK2019: unresolved external symbol "public: virtual __cdecl boost::detail::thread_data_base::~thread_data_base(void)" (??1thread_data_base@detail@boost@@UEAA@XZ) referenced in function "int `public: __cdecl boost::detail::thread_data<class boost::_bi::bind_t<void,class boost::_mfi::mf0<void,class mongo::BackgroundJob>,class boost::_bi::list1<class boost::_bi::value<class mongo::BackgroundJob *> > > >::thread_data<class boost::_bi::bind_t<void,class boost::_mfi::mf0<void,class mongo::BackgroundJob>,class boost::_bi::list1<class boost::_bi::value<class mongo::BackgroundJob *> > > >(class detail::_bi::bind_t<void,class boost::_mfi::mf0<void,class mongo::BackgroundJob>,class boost::_bi::list1<class boost::_bi::value<class mongo::BackgroundJob *> > > &&)'::`1'::dtor$0" (?dtor$0@?0???0?$thread_data@V?$bind_t@XV?$mf0@XVBackgroundJob@mongo@@@_mfi@boost@@V?$list1@V?$value@PEAVBackgroundJob@mongo@@@_bi@boost@@@_bi@3@@_bi@boost@@@detail@boost@@QEAA@$$QEAV?$bind_t@XV?$mf0@XVBackgroundJob@mongo@@@_mfi@boost@@V?$list1@V?$value@PEAVBackgroundJob@mongo@@@_bi@boost@@@_bi@3@@_bi@2@@Z@4HA)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    87    error LNK2019: unresolved external symbol "public: void __cdecl boost::thread::detach(void)" (?detach@thread@boost@@QEAAXXZ) referenced in function "public: void __cdecl mongo::BackgroundJob::go(void)" (?go@BackgroundJob@mongo@@QEAAXXZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter
Error    78    error LNK2019: unresolved external symbol "void * __cdecl boost::detail::get_tss_data(void const *)" (?get_tss_data@detail@boost@@YAPEAXPEBX@Z) referenced in function "public: class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > * __cdecl boost::thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >::get(void)const " (?get@?$thread_specific_ptr@V?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@@boost@@QEBAPEAV?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(logstream_builder.obj)    WebExporter
Error    76    error LNK2019: unresolved external symbol "void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void *,bool)" (?set_tss_data@detail@boost@@YAXPEBXV?$shared_ptr@Utss_cleanup_function@detail@boost@@@2@PEAX_N@Z) referenced in function "public: __cdecl boost::thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >::~thread_specific_ptr<class mongo::OwnedPointerVector<class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > > >(void)" (??1?$thread_specific_ptr@V?$OwnedPointerVector@V?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@mongo@@@boost@@QEAA@XZ)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(logstream_builder.obj)    WebExporter

Any idea where I screwed up ?

Thanks,

Thomas LGD.

Andrew Morrow

unread,
Dec 10, 2015, 8:55:31 AM12/10/15
to mongod...@googlegroups.com

Hi Thomas -

In general, it is better to start new threads than reply to old ones. You can always link to the old discussion if you think it has relevant context.

I have a few comments on your issue - see below:

On Wed, Dec 9, 2015 at 8:01 PM, Thomas Le Guerroué Drévillon <thoma...@gmail.com> wrote:
Hi Andrew,

I do have a similar problem and this is the only relevant thread I could find. I try to compile both my boost and mongo for windows, msvc 12, /MD and static but end up having compilation errors inside the project that tries to use mongo.
  • Version: Legacy branch, legacy-1.1.0 tag
  • Host OS: Windows 7 Pro x64
  • Compiler: MSVC 2013 Pro
  • Boost version: 1.59

Here is the boost commant line:
b2 toolset=msvc-12.0 link=static threading=multi runtime-link=static variant=debug


So, here you are asking to build static boost libraries (.a's), and link them to the static windows runtime libraries.

 
Here is the mongo driver command line:
scons --cpppath="C:\boost" --dbg=on --msvc-version=12.0 --dynamic-windows --dynamic-boost=off


Here, you are asking to build static mongoclient libraries, but you are linking to the dynamic windows runtime libraries. So I think this is likely to cause problems. I don't know that it is the cause of the problem below, but it could be. In general, you want boost, your application, and mongoclient to all be using the same windows runtime library.

 
And the STATIC_LIBMONGOCLIENT preprocessor definition is present.

Good, this is necessary if you are building your application against the static libmongoclient.

 

I can use boost in my project, but if I attempt to use mongo I start getting compile errors.

Error    89    error LNK1120: 11 unresolved externals    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\x64\Debug\\WebExporter.exe    WebExporter
Error    81    error LNK2001: unresolved external symbol "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" (?interruptible_wait@this_thread@boost@@YA_NPEAXUtimeout@detail@2@@Z)    C:\Users\Thomas\Desktop\ViewsIQ\DevGit\WebExporter\WebExporter\libmongoclient-gd.lib(background.obj)    WebExporter

You haven't shown the link line here, so I can't tell what libraries were present. However, when linking with static libraries, you must provide all of the necessary libraries - transitive dependencies are not implicitly included. Does the link line for the WebExporter.exe include the boost_thread library? If not, you will get this sort of link error because libmongoclient-gd.lib references the above symbol and needs a definition.

I recommend harmonizing the windows runtime library and ensuring that you are passing libmongoclients dependencies on the link line for WebExporter

Thanks,
Andrew

Thomas Le Guerroué Drévillon

unread,
Dec 10, 2015, 11:49:31 AM12/10/15
to mongodb-user
Hi Andrew,

Noted that next time I should start a new thread. Thanks for the quick answer.

I'm currently recompiling boost with runtime-link=shared but ideally I would like to remove --dynamic-windows from my mongo build. However, when I do that, the lib generated is a -sgd, not a -gd. And my MSVC application insist s on me providing a -gd to it. I believe changing the name manually is not what is expected. Any clue on what I should modify in my application so that it request the -sgd ?

Thanks,
Thomas LGD.

Andrew Morrow

unread,
Dec 10, 2015, 11:56:45 AM12/10/15
to mongod...@googlegroups.com
On Thu, Dec 10, 2015 at 11:49 AM, Thomas Le Guerroué Drévillon <thoma...@gmail.com> wrote:
Hi Andrew,

Noted that next time I should start a new thread. Thanks for the quick answer.

I'm currently recompiling boost with runtime-link=shared but ideally I would like to remove --dynamic-windows from my mongo build. However, when I do that, the lib generated is a -sgd, not a -gd.

Correct, the 's' is now there because it is linking to the static windows runtime:



And my MSVC application insist s on me providing a -gd to it.

Are you setting your MSVC application to also build against the static runtime? In other words, your application must also be built without DLL defined. See the autolib logic here:


 
I believe changing the name manually is not what is expected.

Right, definitely don't do that.

 
Any clue on what I should modify in my application so that it request the -sgd ?

I think you need to build your application with /MD.

 
--
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.
 
For other MongoDB technical support options, see: http://www.mongodb.org/about/support/.
---
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user...@googlegroups.com.
To post to this group, send email to mongod...@googlegroups.com.
Visit this group at http://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/33fcfb40-701b-4273-984c-444ce3988e32%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Thomas Le Guerroué Drévillon

unread,
Dec 10, 2015, 12:53:29 PM12/10/15
to mongodb-user
Alright, problem solved. My mongo was compiled for x64 architecture and my boost for x86. Somehow boost is ok being used in a x64 application, but mongo doesn't like being x64 and use a x86 version.

There were two problems, the shared/static mismatch at run time and the x64/x86 mismatch.

Here are the fixed command lines:
b2 toolset=msvc-12.0 link=static threading=multi runtime-link=shared variant=debug addres-model=64

scons --cpppath="C:\boost" --dbg=on --msvc-version=12.0 --dynamic-windows --dynamic-boost=off

Thanks Andrew.

Thomas LGD.
Reply all
Reply to author
Forward
0 new messages