Visual Studio 2019:如何使用 Platform Toolset v140_xp?

新手上路,请多包涵

我正在尝试使用 Visual Studio 2019 为 Windows XP 编译应用程序。为此,我尝试使用平台工具集 v140_xp。它不起作用,出现以下错误消息:

 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.

显然,这些工具正在寻找 Windows SDK v7.1A。从 Microsoft 下载 Windows 7 SDK 不起作用。即使您设法安装它,SDK 也有 7.1 版(没有 A)而不是 7.1A。所以错误仍然存在。

我发现 Windows SDK v7.1A 曾经包含在 Visual Studio 2015 中,但我在 Visual Studio 2019 安装程序中的任何地方都找不到它。

如何使用 v140_xp 工具集?

重现问题的步骤:

  • 使用桌面 c++ 开发安装 Visual Studio 2019
  • 在 Visual Studio 2019 安装程序中选择“MSVC v140 - VS2015 C++ Build tools”
  • 创建 C++ 控制台应用程序项目
  • 编辑项目设置
  • 选择 v140_xp 平台工具集
  • 尝试构建项目

原文由 Sven 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

在 Visual Studio 2019 安装程序中,Windows SDK 7.1A 隐藏在“C++ Windows XP Support for VS 2017 (v141) tools [Deprecated]”选项后面。

将鼠标悬停在该选项上会出现一个工具提示,指出 Windows SDK 7.1 包含在该组件中。

此处描述了整个过程: https ://learn.microsoft.com/en-us/cpp/build/configuring-programs-for-windows-xp?view=vs-2019

原文由 Sven 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题