跳到主要内容
下载

mingw.pro

MinGW:本机Windows使用值得信赖的GCC构建

使用经过验证的 TERM4 工具链、精心策划的标头以及专为本机 TERM6 链接设计的导入库,为 TERM5 目标提供支持标准的 C 和 TERM34,而无需在您的产品中强制使用 Unix 运行时。

透明的包装、完整性检查以及为每天在 Windows 上进行编译的团队提供的实用指导。

MinGW dark header artwork

Audience

开发人员和平台工程师

Focus

在 TERM6 主机上快速迭代

What is MinGW?

MinGW,是 Windows 的 Minimalist GNU 的缩写,是 GNU 编译器集合的本机 Windows 端口,与可自由再分发的导入库和 Windows API 标头配对,因此您可以编译和链接在 Microsoft Windows 上运行的程序,而无需使用专有 SDK 来执行基本开发任务。

更广泛的生态系统(包括 TERM1 分支)将标头扩展到原始范围之外,提高了数学密集型代码的一致性,并添加了现代目标支持,以便您可以从相同的严格工具链布局生成 32 位和 64 位二进制文​​件。

Why teams standardize on it

  • 可预测的 TERM4 语义适用于也需要 TERM6 二进制文件的可移植代码库。
  • 标头和导入库与本机 TERM6 二进制文件的链接方式保持一致。
  • 适合教育、开源发布管道和长期维护窗口的工具。
MinGW alternate logo

Real use cases

Product engineers

发布的库和可执行文件必须与 TERM6 ABI 干净地链接,同时与可移植的 TERM4 构建脚本保持密切联系。

Administrators of build farms

当您控制部署到代理的存档时,标准化编译器版本、记录 TERM11 布局并减少意外升级。

Power users and researchers

编译数字堆栈、语言运行时和实用程序,其中可重复标志和开放许可与原始速度一样重要。

Windows 上的编译器系列比较

MinGW 并不是唯一严肃的选择。这种高级视图可以帮助您向利益相关者解释权衡,而无需假装每个工作负载都有一个赢家。

Topic MinGW style GCC Microsoft MSVC LLVM Clang for Windows
Primary audience 想要 GNU 标志并在 Windows 上构建可移植逻辑的团队。 团队与 Visual Studio 和 Microsoft 库深度集成。 想要通过灵活的链接器设置进行 TERM9 诊断的团队。
Distribution model 您可以在每个版本中镜像、散列和固定社区档案。 安装程序驱动的堆栈与 Microsoft 更新通道相关。 LLVM 版本以及可选的 MSVC 运行时配对。
Typical strength 成熟的 TERM4 语言支持和广泛的第三方示例。 一流的 TERM6 SDK 集成,适用于最新的 API。 现代静态分析和快速移动语言功能。

数字取决于项目类型、链接器选择和优化级别。将此表视为规划辅助工具,而不是分析工作量的替代品。

Trust and transparency first

我们发布完整性指南,解释为什么安全产品有时与编译器档案不一致,并记录如何验证您安装的内容。如果您的安全团队提出棘手的问题,请从“信任”页面和“下载”页面有关校验和和签名的部分开始。

Community voices

简短笔记的灵感来自依赖于 TERM0 类工具链进行日常 TERM6 工作的开发人员的真实反馈。

“经过几个月的使用,这仍然是保持 TERM6 构建干净和可预测的重要部分。”
C++ tools engineer
“我们对 TERM12 和开发笔记本电脑上的 TERM3 标志进行了标准化。TERM0 使 TERM6 奇偶校验变得简单。”
Build infrastructure lead
“使用透明的工具链教授学生胜过将所有内容隐藏在黑匣子安装程序中。”
University instructor
“将 TERM7 重型库移植到本机 TERM6 时,标头覆盖率和导入库节省了数周时间。”
Open source maintainer
“经过几个月的使用,这仍然是保持 TERM6 构建干净和可预测的重要部分。”
C++ tools engineer
“我们对 TERM12 和开发笔记本电脑上的 TERM3 标志进行了标准化。TERM0 使 TERM6 奇偶校验变得简单。”
Build infrastructure lead
“使用透明的工具链教授学生胜过将所有内容隐藏在黑匣子安装程序中。”
University instructor
“将 TERM7 重型库移植到本机 TERM6 时,标头覆盖率和导入库节省了数周时间。”
Open source maintainer

Quick answers

这里有一个简短的常见问题解答。对于法律、安全和边缘情况,请继续查看完整的常见问题解答页面。

MinGW 是否会针对所有场景取代 Windows SDK?

不会。 MinGW 类发行版专注于适合许多本机构建的标头和导入库。某些 TERM6 存储规则、驱动程序包或最新的专有 API 可能仍需要 Microsoft 工具。尽早规划依赖关系。

为什么防病毒产品有时会标记编译器存档?

启发式扫描器对打包的可执行文件、自解压档案和类似于通用恶意软件模式的工具链行为做出反应。验证哈希值,首选可用的签名工件,并阅读指南以冷静地向 IT 升级。

我可以在一台机器上混合安装多个 GCC 吗?

可以,但是 PATH 顺序决定哪个 gcc 在 shell 中运行。隔离前缀,在 TERM12 中使用显式路径,并记录您支持可重现构建的版本。

准备好安装固定版本了吗?

选择一个包,验证完整性,并遵循 TERM11 检查表,以便每个开发者 shell 都同意相同的编译器。

Open downloads