What's the difference between the Platform Toolsets ending in _xp
and those that don't. (For example, v140
vs v140_xp
)
Why aren't there toolsets ending with _vista
or _7
? When I compile a program on Windows 7 with the v140
toolset, will it run on Windows XP/Vista?
Starting with Visual Studio 2012 its default toolset (v110) didn't support Windows XP anymore. So you were only able to create programs for Windows Vista und newer.
The Visual Studio developers got many protest from the users, because the users have their own customers, which were still using Windows XP. So the Visual Studio developers introduced v110_xp in Visual Studio 2012 Update 4, which also supports Windows XP.
With all later Visual Studio versions (2013 -> v120, 2015 -> v140) they continued this approach, so you have an extra toolset for Windows XP and newer (v120_xp and v140_xp).
If you create programs, which shall only be used on Windows Vista or newer, then you should use the default toolset (without the _xp suffix). But if you need your programs to run under Windows XP then you need to use the toolset with _xp suffix.