简体   繁体   中英

Visual Studio 2019: How to use Platform Toolset v140_xp?

I am trying to compile an application for Windows XP using Visual Studio 2019. For that I tried to use platform toolset v140_xp. It does not work, the following error message appears:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140_xp\Toolset.targets(36,5): warning MSB8003: Could not find WindowsSdkDir_71A variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.

Clearly, the tools are looking for the Windows SDK v7.1A. Downloading the Windows 7 SDK from Microsoft does not work. Even if you manage to install it, the SDK has version 7.1 (without the A) and not 7.1A. So the error remains.

I have found out that the Windows SDK v7.1A used to be included with Visual Studio 2015, but I cannot find it anywhere in the Visual Studio 2019 installer.

How do I use the v140_xp toolset?

Steps to reproduce the problem:

  • install Visual Studio 2019 with desktop c++ development
  • select "MSVC v140 - VS2015 C++ Build tools" in the visual studio 2019 installer
  • create a C++ console application project
  • edit the project settings
  • select the v140_xp platform toolset
  • try to build the project

In the Visual Studio 2019 Installer, the Windows SDK 7.1A is hidden behind the option "C++ Windows XP Support for VS 2017 (v141) tools [Deprecated]".

Hovering the mouse over that option a tooltip appears that states that Windows SDK 7.1 is included with that component.

The whole procedure is described here: https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-windows-xp?view=vs-2019

Updated for someone who will be confused by installer GUI like me.

There are "Individual Components" tab on the top, and "Individual Components" check list on the left.

Checking "C++ Desktop Development" does not trigger all C++ components to appear in check list. "WinXP support" must be checked in tab first, and then it appears in check list:

在此处输入图像描述

See also: https://github.com/MicrosoftDocs/cpp-docs/issues/1810

using visual studio installer and install v140 and v141_xp

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM