使用 Visual Studio 以 Windows XP 为目标的最新 C++ 标准是什么?

What is the latest C++ standard to target Windows XP with Visual Studio?

Visual Studio 2019好像对C++17有很好的支持。不幸的是,用它构建的二进制文件似乎需要在目标机器上安装通用 CRT,并且 UCRT 支持的最低 OS 是 Vista。

所以,如果我想构建一个二进制文件来定位 Windows XP,我必须使用 VS C++ 编译器 preceding UCRT?是对 C++11 有一些支持的 VS 2013 吗?

具有 Windows XP 支持的最新工具集是 v141_xp,即来自 Visual Studio 2017 的 XP 工具集。它具有完整的C++14 支持,部分 C++17 支持。 它也带有 Visual Studio 2019:

遗憾的是,它没有完整的 C++17 和 C++20 支持。

VS2019的最新更新在v142工具集中几乎完全支持C++20,预计还有一个更新可以完成,但没有XP支持。

VS2022 在其 v143 工具集中放弃了 Vista 并支持一些 C++23。它仍然附带 v141_xp 工具集作为可选的 [已弃用] 组件。

v141_xp工具集仍然支持C++14和部分C++17。它主要对应于他们提到 VS 2017 的 Conformance table。(比如说,你将有 std::any 或简洁的 static_assert,但不能使用 shared_mutex,因为它依赖于 Vista SRWLOCK)

另请参阅: