Boost logo

Boost :

From: degski (degski_at_[hidden])
Date: 2019-07-16 05:01:26


On Tue, 16 Jul 2019 at 01:01, Stephan T. Lavavej <stl_at_[hidden]>
wrote:

> [degski]
> > Or just rename the libs so they have the expected name. vc140, vc141 and
> > vc142 are ABI-compatible AFAIK (and I know from good source vc142 is not
> gonna break that).
>
> There's a potential issue with doing that. Binary compatibility between
> the 2015, 2017, and 2019 toolsets comes with a couple of restrictions: no
> LTCG (which is a non-issue here), and the final link must be performed by a
> toolset that's as new as (or newer than) all of the object files and
> libraries being linked. For example, you can't take VS 2019 16.1 (v142)
> compiled libraries, and perform a final link with VS 2015 RTM (v140). And
> in practice, I am aware of at least one build break that can be encountered
> when attempting this (as we added a vectorized implementation of
> std::reverse that requires separately compiled support to be dragged in
> during the final link).
>
> This binary compatibility allows application developers to upgrade their
> toolsets without blocking on all of their separately compiled libraries
> upgrading to the same toolset. It is specifically not intended to allow
> separately compiled libraries to upgrade their toolset beyond what their
> consuming applications are ready for.
>

Thanks, for adding (and clarifying) the caveats.

degski

-- 
@realdegski
https://edition.cnn.com/interactive/2019/06/middleeast/saudi-teen-death-penalty-intl/
"Anyone who believes that exponential growth can go on forever in a finite
world is either a madman or an economist" - Kenneth E. Boulding

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk