On 18 March 2017 at 13:23, Mateusz Loskot
On 18 March 2017 at 04:06, Tom Kent via Boost
wrote: On Fri, Mar 17, 2017 at 7:29 AM, Mateusz Loskot via Boost
wrote: On 17 March 2017 at 09:10, Olaf van der Spek via Boost
wrote: Where is 14.10 coming from?
NMAKE build utility, perhaps?
VS2017 is shipped with NMAKE.EXE /? Microsoft (R) Program Maintenance Utility Version 14.10.25017.0
I went through VS2017 and VS2015 to compare the macros that are available, here's what I found:
$(PlatformToolsetVersion) 141 $(VCToolsVersion) 14.10.25017 $(VisualStudioVersion) 15.0 [...] $(PlatformToolsetVersion) 140 $(VCToolsVersion) N/A $(VisualStudioVersion) 14.0
To those above, adding versions from Visual Studio 2012, for example:
$(PlatformToolsetVersion) 110 $(VCToolsVersion) N/A $(VisualStudioVersion) 11.0
Now, we can not rely on: $(VCToolsVersion) - it is not defined for every VS toolset $(VisualStudioVersion) - from 15.0 or above, it no longer maps 1:1 with $(PlatformToolsetVersion)
AFAIS, BOOST_LIB_TOOLSET is based on "vc" + $(PlatformToolsetVersion)
# define BOOST_LIB_TOOLSET "vc110" # define BOOST_LIB_TOOLSET "vc140"
Then, for Visual Studio 2017 case, the macro should resolve to
# define BOOST_LIB_TOOLSET "vc140" // VS2017 + $(PlatformToolsetVersion) 140 # define BOOST_LIB_TOOLSET "vc141" // VS2017 + $(PlatformToolsetVersion) 141
Obviously, case of VS2015 (which always builds with v140), would be the same as VS2017 + $(PlatformToolsetVersion) # define BOOST_LIB_TOOLSET "vc140" // VS2015 + $(PlatformToolsetVersion) 140 Best regards, -- Mateusz Loskot, http://mateusz.loskot.net