Subject: Re: [boost] [build] VC++ 2017 version number?
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2017-03-13 21:58:39
> This was all done to signify some kind of abi compatibility (I haven't investigated what the practical applications of this are, or why one would care...does this mean we can link a build of boost made with msvc-14.0 with c++ application code compiled with msvc-14.10?).
People really, really care about this one. VS 2015's toolset (RTM and all Updates) is binary-compatible with VS 2017's toolset (RTM and all future Updates), meaning that they can be freely mixed during linking. It's still best to compile everything consistently with the latest available version, to get all correctness/performance fixes.
> As I said before, for my opinion, I think we should move to msvc-15.0 for the toolset, as that will be *less* confusion for the end-users.
I disagree - 15 is the IDE's version number. The IDE can host multiple toolsets (already it can install v140 and v141; expect more in the future).
Another approach would be to give up on the 14.x version numbers entirely (admittedly it is confusing to have the v141 toolset linking against msvcp140.dll for bincompat). Instead, use _MSC_VER as the toolset identifier - this is 1900 for VS 2015 (RTM/Updates) and 1910 for VS 2017 RTM, and will increase in a fairly predictable, monotonic way in the future.