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

Posted

技术标签:

【中文标题】Visual Studio 2019:如何使用 Platform Toolset v140_xp?【英文标题】:Visual Studio 2019: How to use Platform Toolset v140_xp? 【发布时间】:2020-03-04 10:29:44 【问题描述】:

我正在尝试使用 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 工具集?

重现问题的步骤:

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

更新适合像我这样被安装程序 GUI 搞糊涂的人。

顶部有“Individual Components”标签,左侧有“Individual Components”check list

选中“C++ 桌面开发”不会触发所有 C++ 组件出现在检查列表中。 “WinXP support”必须先在标签中勾选,然后然后出现在检查列表中:

另请参阅: https://github.com/MicrosoftDocs/cpp-docs/issues/1810

【讨论】:

你对我的回答有什么问题? “C++ Windows XP for VS2017 (v141) [deprecated]”选项在 VS2019 安装程序中仍然可用,并且可以正常工作。我测试了一个小型 Hello World 程序。 @Sven:我帖子中的第一个屏幕截图来自 VS2019 安装程序 - 没有这样的选项。 140 和 141 工具集可用,但 140_xp 或 141_xp 不可用。就我而言,它是企业版。实际上,我找到了你的答案,并且有一段时间试图理解,我做错了什么,哪里是这个选项。 :) 也许,这取决于 VS 安装程序版本/版本/或其他。 我有 16.4.5,它仍然存在。不确定是“版本”问题,还是“已经安装好东西”。 docs.microsoft.com/en-us/cpp/build/… 根据链接,您必须安装“C++ Windows XP Support for VS 2017 (v141) tools [Deprecated]” @Sven:问题是“在哪里可以找到这个复选框”。更新了答案。【参考方案3】:

使用 Visual Studio 安装程序并安装 v140 和 v141_xp

【讨论】:

以上是关于Visual Studio 2019:如何使用 Platform Toolset v140_xp?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2019 中使用 C#10

如何使用 Visual Studio 2019 构建 GTK+ 应用程序?

如何在 Visual Studio 2019 中使用 CppFlow 库?

如何使用 Visual Studio 2019 构建最兼容的二进制文件?

2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App

如何使用 Visual Studio 2019 和 c++ 链接 OpenSSL 库?