MinGW 和 MinGW-w64 的介绍与配置

本文将介绍 MinGW 和 MinGW-w64 工具链的区别,并提供安装与配置的详细步骤。MinGW 是 Windows 上流行的 C/C++ 编译工具,而 MinGW-w64 是其现代化分支,支持更多功能和更好的兼容性。


一、什么是 MinGW 和 MinGW-w64

1. MinGW(Minimalist GNU for Windows)

  • MinGW 是一个轻量级的 Windows 开发工具链,提供 GCC 编译器,用于构建 C 和 C++ 程序。
  • 优点
    • 轻量级,简单易用。
    • 提供基础的 Windows API 支持。
  • 缺点
    • 仅支持 32 位程序开发。
    • 项目已多年未更新,功能较为有限。

2. MinGW-w64

  • MinGW-w64 是 MinGW 的分支项目,支持更现代化的开发需求。
  • 优点
    • 支持 32 位和 64 位程序开发。
    • 提供更全面的 Windows API 支持。
    • 支持现代 C 和 C++ 标准,包括多线程支持。
    • 更活跃的社区和更新频率。

二、MinGW-w64 的版本参数

MinGW-w64 的下载页面中会提供多个版本可供选择,这些版本的命名由以下参数组成:

1. 架构

  • i686:适用于 32 位系统或开发 32 位程序。
  • x86_64:适用于 64 位系统,推荐现代操作系统选择。

2. 线程模型

  • POSIX
    • 基于 POSIX 标准的线程实现,提供更好的兼容性和通用性。
    • 推荐大多数用户选择。
  • WIN32
    • 使用 Windows 原生线程实现,与 Windows 更贴近。
    • 适合特殊场景下的 Windows 原生开发。

3. 异常处理模型

  • SEH (Structured Exception Handling)
    • 64 位系统的默认异常处理模型。
    • 推荐用于 64 位开发。
  • DWARF
    • 适用于 32 位系统的异常处理模型。
    • 性能较好,但仅限于 32 位开发。
  • SJLJ (Set Jump/Long Jump)
    • 老旧的异常处理模型,性能稍差。
    • 不推荐使用,除非有兼容性需求。

4. 运行时库

  • UCRT (Universal C Runtime)
    • 现代 Windows 的通用运行时库,推荐。
  • MSVCRT (Microsoft C Runtime Library)
    • 使用微软的运行时库,适合需要兼容 Visual Studio 的场景。

三、推荐版本

假设您的系统是 64 位 Windows,推荐选择:

  • x86_64-14.2.0-release-posix-seh-ucrt
    • 架构:64 位。
    • 线程模型:POSIX。
    • 异常处理:SEH。
    • 运行时库:UCRT。

此版本适合大多数现代 Windows 开发需求,提供最佳的兼容性和性能。


四、安装 MinGW-w64 的步骤

1. 下载 MinGW-w64

  1. 访问 MinGW-w64 的 官方页面 或其 GitHub Releases 页面
  2. 下载推荐的版本,例如:x86_64-14.2.0-release-posix-seh-ucrt.7z

2. 解压文件

  1. 使用 7-Zip 或其他解压工具解压 .7z 文件。

  2. 将解压后的文件放置在固定路径,例如:

    C:\mingw64
    

3. 配置环境变量

  1. 打开系统环境变量设置:

    • 在 Windows 搜索框中输入"环境变量",选择 编辑系统环境变量
    • 点击 环境变量 按钮。
  2. 在系统变量中找到 Path,点击 编辑

  3. 新建一行,添加 MinGW 的 bin 目录路径,例如:

    C:\mingw64\bin
    
  4. 点击 确定 保存。

4. 验证安装

  1. 打开命令提示符(CMD 或 PowerShell)。

  2. 运行以下命令验证安装是否成功:

    bash 复制代码
    gcc --version
    g++ --version
  3. 如果成功显示 GCC 和 G++ 的版本号,则说明安装完成。


五、其他 MinGW-w64 工具链选择

1. MSYS2

  • MSYS2 是一个基于 MinGW-w64 的现代开发环境,提供包管理工具 pacman
  • 安装步骤
    1. 下载 MSYS2:https://www.msys2.org/

    2. 安装完成后,打开 MSYS2 终端,运行以下命令安装 MinGW-w64 工具链:

      bash 复制代码
      pacman -S mingw-w64-x86_64-gcc
    3. C:\msys64\mingw64\bin 添加到环境变量中。

2. TDM-GCC

  • TDM-GCC 是 MinGW-w64 的一个分支,提供了更简单的安装程序。
  • 下载地址TDM-GCC 官网

六、总结

  • MinGW 是轻量级的 C/C++ 工具链,但已不适合现代开发需求。
  • MinGW-w64 是更推荐的选择,支持 32 位和 64 位开发。
  • 根据您的需求选择合适的版本参数,推荐使用 x86_64-posix-seh-ucrt
  • 如果需要更现代的开发环境,可以尝试 MSYS2。
相关推荐
落寞书生1 个月前
cmake + vscode + mingw 开发环境配置
ide·vscode·mingw·环境搭建·cmake
张一西2 个月前
ARM学习(35)单元测试框架以及MinGW GCC覆盖率报告
单元测试·mingw·gcc·覆盖率·cppunit·gcov
Thanks_ks3 个月前
【第 1 章 初识 C 语言】1.10 - 1.11 本书的组织结构、本书的约定
mingw·vs code·c 语言学习·书籍导读·编程环境·程序输出·系统差异
威桑3 个月前
MinGW 与 MSVC 的区别与联系及相关特性分析
c++·mingw·msvc
jinlei20095 个月前
Windows下使用MinGW编译安装zmq的步骤
mingw·zmq
hgggg20037 个月前
windows下gcc编译C、C++程序 MinGW编译器
c语言·开发语言·c++·windows·mingw·gcc
Elaine猿9 个月前
Windows下搭建Cmake编译环境进行C/C++文件的编译
c语言·c++·windows·mingw·cmake
KINGES1 年前
CLion搭建Qt开发环境,并解决目录重构问题(最新版)
mingw·msvc·cmake·qt6·clion
DogDaoDao1 年前
windows11编译x264源码详解
windows·mingw·视频编解码·x264·h264