← 文章 / 编程开发
rust-lang 3小时前 · 2026-10-02 18:20:52 · 1 阅读

将 i686 Windows 目标降级为仅限标准

Rust 1.100.0 版本将实施以下 32 位 Windows 目标变更:

  • i686-pc-windows-msvc 将从 Tier 1(含宿主工具)目标降级为 Tier 1(不含宿主工具)目标。
  • i686-pc-windows-gnu 将从 Tier 2(含宿主工具)目标降级为 Tier 2(不含宿主工具)目标。

标准库构建产物将继续分发,但像编译器这样的宿主工具将不再提供。作为 Tier 1 目标,i686-pc-windows-msvc 仍会通过 CI 进行测试。

今后若要构建 32 位 Windows 二进制文件,必须从仍受支持的宿主工具链(如 64 位 Windows)进行交叉编译。

背景

纯 32 位 x86 CPU 的桌面和服务器产品已停产超过 15 年,通用的 32 位 Windows 支持也将于 2025 年 10 月结束。这意味着这些目标所针对的开发平台如今几乎已不存在,即便存在,通常也不具备足够的开发能力。

即使在现代 x86_64 硬件上,构建 i686 Windows 工具链也证明存在诸多问题。我们曾遇到编译器二进制文件在使用 i686 MSVC 目标构建时崩溃,以及 GNU C++ 工具链在 LLVM 构建期间因内存不足(OOM)而失败的情况。

综合考量以上因素,我们发现从支持度更高的目标进行交叉编译是最佳前进方案。为此,我们已停止为这些目标生成宿主工具。目前,预构建的标准库仍可提供,且 i686-pc-windows-msvc 仍在 CI 上接受测试。

变更内容

Rust 1.100 之后,将无法再在 32 位 Windows 宿主上安装工具链。我们建议改为从仍受支持的宿主(如 64 位 Windows 工具链)进行交叉编译。其他 32 位平台不受此变更影响。

关于这些降级的更多细节,请参阅 RFC 3999(i686-pc-windows-msvc 降级)和 MCP 1020(i686-pc-windows-gnu 降级)。

原始来源: rust-lang

评论 (0)