It is definitely related to precompiled headers. It was only occurring in projects which were using precompiled headers. When I disabled precompiled headers in Release configuration, the link completed without errors.
Looks like Boost in MSVC has been bitten again by the precompiled header issues.
From: Barker, Theo
Sent: Wednesday, December 02, 2015 9:03 PM
To: 'boost-users@lists.boost.org'
Subject: RE: linker errors in vs2012 and boost 1.59...
More precisely:
1>Linking...
1> Creating library C:\Projects\Automation_master\Release\X.lib and object C:\Projects\Automation_master\Release\X.exp
1>Client.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::container::container_detail::has_member_function_named_construct __cdecl(void)> >,void *,0,1> > >::BaseMixin::construct(void)" (?construct@BaseMixin@?$has_member_function_named_construct@V?$new_allocator@U?$tree_node@U?$pair@$$CBW4MoFloAutomationCommand@@V?$function@$$A6A?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ@boost@@@std@@PAX$0A@$00@container_detail@container@boost@@@container@boost@@@container_detail@container@boost@@QAEXXZ)
1>Connector.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::container::container_detail::has_member_function_named_construct,void *,0,1> > >::BaseMixin::construct(void)" (?construct@BaseMixin@?$has_member_function_named_construct@V?$new_allocator@U?$tree_node@U?$pair@$$CBKV?$shared_ptr@VClient@@@boost@@@std@@PAX$0A@$00@container_detail@container@boost@@@container@boost@@@container_detail@container@boost@@QAEXXZ)
1>ResultMapper.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::container::container_detail::has_member_function_named_construct,void *,0,1> > >::BaseMixin::construct(void)" (?construct@BaseMixin@?$has_member_function_named_construct@V?$new_allocator@U?$tree_node@U?$pair@$$CBW4errc_t@errc@system@boost@@W4MoFloAutomationCommandResult@@@std@@PAX$0A@$00@container_detail@container@boost@@@container@boost@@@container_detail@container@boost@@QAEXXZ)
1>C:\Projects\Automation_master\Release\X.dll : fatal error LNK1120: 3 unresolved externals
1>Build log was saved at "file://c:\Projects\Automation_master\X\Release\BuildLog.htmfile:///c:\Projects\Automation_master\X\Release\BuildLog.htm"
1>X - 4 error(s), 4 warning(s)
This did not occur with either Debug 1.59 nor Release 1.58. Appears to be true for both prebuilt binaries and built-from-source
From: Barker, Theo
Sent: Wednesday, December 02, 2015 4:58 PM
To: 'boost-users@lists.boost.org'
Subject: linker errors in vs2012 and boost 1.59...
Shayne,
It's not just VS2012. I'm seeing that exact behavior with VS2008.
Theo
Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message. The sender disclaims that the content of this email constitutes an offer to enter into, or the acceptance of, any agreement; provided that the foregoing does not invalidate the binding effect of any digital or other electronic reproduction of a manual signature that is included in any attachment.