在 Rust 1.100.0 中,32 位 Windows 目标将发生以下变化:
标准库的构建仍将继续分发,但编译器等宿主工具将不再可用。作为 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 位平台不受此更改影响。
有关这些降级的更多详细信息,请参阅关于 i686-pc-windows-msvc 降级的 RFC 3999,以及关于 i686-pc-windows-gnu 降级的 MCP 1020。
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文来源:Rust Blog
原创地址:https://blog.rust-lang.org/2026/10/02/demoting-i686-windows-targets-to-std-only/
原文作者:Mateusz Mikuła, Ralf Jung;如有侵权,请联系管理员删除。