当前位置: 首页 > news >正文

MSYS2 中安装 GCC 13.2.0 版本完整指南

MSYS2 安装指定 GCC 版本 MinGW64 完整指南

文档说明

  1. 适用环境:Windows 10/11 系统 + MSYS2

  2. 核心目标:通过 MSYS2 的 pacman 包管理工具,安装指定版本的 MinGW64-GCC 工具链(含 C/C++ 编译器)

  3. 注意事项:MSYS2 包仓库仅保留近期 GCC 版本,过于老旧版本可能无法直接获取

一、核心前提

  1. 已完成 MSYS2 安装(安装路径无中文、无空格,如 D:\msys64)

  2. 操作全程必须在「MSYS2 MinGW 64-bit」终端中执行,避免环境不匹配

  3. 核心包说明:

  • 主编译器包:mingw-w64-x86_64-gcc(包含 gcc 「C 编译器」、g++ 「C++ 编译器」)

  • 运行时依赖包:mingw-w64-x86_64-gcc-libs(GCC 运行必需,需与主包版本完全一致)

二、步骤 1:查询可安装的 GCC 版本

先查询 MSYS2 包仓库中当前可用的 GCC 版本,避免盲目指定不存在的版本,执行以下命令:

搜索 GCC 包并列出所有可用版本

pacman -Ss mingw-w64-x86_64-gcc

命令输出解读

输出结果示例如下,其中 x.y.z-x 为可安装的完整版本号(含构建号,需完整记录):

mingw64/mingw-w64-x86_64-gcc 13.2.0-1 (mingw64-devel)
GNU Compiler Collection (C, C++, Fortran, Ada, Go) for MinGW-w64
mingw64/mingw-w64-x86_64-gcc-libs 13.2.0-1 (mingw64-devel)
Runtime libraries shipped with GCC for MinGW-w64

  • 若输出仅包含一个版本,说明仓库中仅保留该版本,无法选择其他版本

  • 记录目标版本号(如 13.2.0-1),后续安装需精准匹配

三、步骤 2:安装指定版本的 GCC

根据目标版本是否在仓库中列出,分两种场景处理,按需选择。

场景 1:安装仓库中已列出的指定版本(推荐,直接安装)

若步骤 1 中查询到目标版本,直接使用 pacman -S 命令指定版本安装,格式如下(替换为实际记录的版本号):

格式:pacman -S 主包名=版本号 依赖包名=版本号

pacman -S mingw-w64-x86_64-gcc=13.2.0-1 mingw-w64-x86_64-gcc-libs=13.2.0-1

关键说明

  1. 必须同时安装主包和依赖包,版本号完全一致,否则编译器无法正常工作

  2. 安装过程中提示「是否继续」,输入 y 并按 Enter 确认即可

  3. 若提示「版本冲突」,先执行 pacman -Sy 更新包仓库缓存,再重新执行安装命令

场景 2:安装仓库中未列出的历史版本(进阶,手动下载本地包)

若步骤 1 中未查询到目标版本,可通过 MSYS2 历史包仓库手动下载包并安装,步骤如下:

  1. 访问 MSYS2 历史包仓库(MinGW64 专属):https://repo.msys2.org/mingw/mingw64/

  2. 在页面中搜索 mingw-w64-x86_64-gcc-,找到对应版本的包文件(后缀为 .pkg.tar.zst)

  3. 同时下载对应的 mingw-w64-x86_64-gcc-libs- 包(版本号与主包完全一致)

  • 示例:下载 mingw-w64-x86_64-gcc-12.3.0-1-any.pkg.tar.zst 和 mingw-w64-x86_64-gcc-libs-12.3.0-1-any.pkg.tar.zst
  1. 将下载的两个包文件放到 MSYS2 可访问路径(如 D:\msys64\home\你的用户名)

  2. 在 MinGW 64-bit 终端中切换到包文件所在目录,执行以下命令手动安装:

安装本地包(-U 表示升级/安装本地包,--noconfirm 可选,自动确认安装)

pacman -U mingw-w64-x86_64-gcc-12.3.0-1-any.pkg.tar.zst mingw-w64-x86_64-gcc-libs-12.3.0-1-any.pkg.tar.zst

  1. 补充:历史版本可能存在依赖缺失,终端会提示缺失的包名,需同时下载并安装对应依赖包

四、步骤 3:验证 GCC 版本安装成功

安装完成后,关闭当前终端,重新打开「MSYS2 MinGW 64-bit」终端(确保配置生效),执行以下验证命令:

查看 GCC 版本(验证 C 编译器)

gcc --version

查看 G++ 版本(验证 C++ 编译器,应与 GCC 版本一致)

g++ --version

验证成功标志

终端输出的版本号与指定安装的版本一致,示例如下:

gcc (Rev1, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

五、步骤 4:锁定 GCC 版本(避免自动更新)

MSYS2 执行 pacman -Syu 时会自动更新所有已安装包,为防止指定版本 GCC 被覆盖,需锁定包版本,步骤如下:

  1. 编辑 MSYS2 的 pacman.conf 配置文件:

nano /etc/pacman.conf

  1. 在配置文件末尾,添加以下内容(锁定 GCC 主包和依赖包):

锁定 GCC 版本,禁止 pacman 自动更新

IgnorePkg = mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs

  1. 保存并退出编辑器:
  • 若使用 nano 编辑器:按 Ctrl+O 保存 → 按 Enter 确认文件名 → 按 Ctrl+X 退出

  • 后续执行 pacman -Syu 时,MSYS2 会跳过这两个包的更新,保留指定版本

六、可选步骤:卸载原有 GCC 版本(解决版本冲突)

若 MSYS2 中已安装其他版本 GCC,可能出现版本冲突,可先彻底卸载原有版本,再安装指定版本:

彻底卸载现有 GCC 包及无关依赖、配置文件

pacman -Rns mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs

命令说明

-Rns 三个参数的含义:

  • -R:卸载指定包

  • -n:删除包对应的配置文件

  • -s:删除无其他包依赖的关联文件

七、常见问题排查

  1. 安装提示「文件冲突」:先执行 pacman -Syu 更新仓库缓存,若仍冲突,卸载原有版本后重新安装

  2. 验证时版本号不匹配:关闭终端重新打开,或检查 PATH 环境变量是否优先指向 MSYS2 的 mingw64/bin 目录

  3. 历史包安装失败:检查依赖包是否齐全,需下载并安装终端提示缺失的所有关联包

八、核心命令汇总

操作目标

命令

查询可用 GCC 版本

pacman -Ss mingw-w64-x86_64-gcc

安装指定版本 GCC

pacman -S mingw-w64-x86_64-gcc=版本号 mingw-w64-x86_64-gcc-libs=版本号

手动安装本地 GCC 包

pacman -U 本地包文件名1 本地包文件名2

彻底卸载原有 GCC 包

pacman -Rns mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs

验证 GCC 版本

gcc --version / g++ --version


总结

  1. 安装核心是成对安装主包与依赖包,且版本号完全一致,避免运行时错误。

  2. 仓库内版本直接用 pacman -S 包名=版本号 安装,历史版本需手动下载本地包并用 pacman -U 安装。

  3. 锁定版本可防止后续 pacman -Syu 自动更新,保障指定 GCC 版本长期可用。

  4. 验证安装成功的关键是 gcc --version 输出与指定版本一致。

http://www.jsqmd.com/news/317826/

相关文章:

  • 2026五大进口游泳池水处理消毒品牌哪家好,速看五大品牌排名
  • 口碑之选:从河北光科到精博中仪,盘点磁翻板液位计TOP品牌背后的硬核实力
  • 2026年干冰清洗机厂家权威推荐榜:干冰清洗设备厂家/干冰清洗注塑模具/干冰清洗机/选择指南
  • 2026年湖北风干鱼/风干鸡/风干鸭行业实力供应商深度评估
  • ubuntu每次开机连不上网,而且网卡是down状态
  • SQL SERVER 差异备份及还原
  • 口碑见证实力:2026年非标链条品牌推荐清单,工业链条/不锈钢链条/链条/非标链条,非标链条公司哪个好
  • LCL三相并网逆变器仿真,采用PR谐振控制,带仿真报告(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 2026年金丝楠厂家推荐:金丝楠厂家/金丝楠排行/金丝楠推荐/金丝楠木排行/金丝楠木推荐/金丝楠木厂家/金丝楠木/选择指南
  • 沧州英语雅思培训机构推荐、2026权威测评出国雅思辅导机构口碑榜
  • 将 “非正态分布” 转换为 “正态分布”
  • 沧州英语雅思培训机构推荐.2026权威测评出国雅思辅导机构口碑榜
  • 2026年重庆公办职高哪家强? 多家靠谱院校详解及选型参考与指南
  • 沧州英语雅思培训机构推荐。2026权威测评出国雅思辅导机构口碑榜
  • 污水流量计哪家强?2026年实力厂家大揭秘,科氏力质量流量计/液体质量流量计/孔板流量计,污水流量计产品哪家强
  • 2026年Omega-3补充剂优质产品推荐榜
  • 救命神器9个AI论文软件,MBA论文写作必备!
  • 张家口英语雅思培训机构推荐,2026权威测评出国雅思辅导机构口碑榜
  • 【WTRNT故障诊断】基于WMSST结合卷积神经网络(CNN)和残差网络(ResNet)的故障诊断研究附matlab代码
  • 开发者必读!AI大模型入门教程,内含300道面试真题!非常详细收藏我这一篇就够了
  • 上下文工程:AI应用开发者的必学技能,建议收藏!
  • 收藏这篇!一文掌握云雀智能体:从原理到实践构建专业级AI助手
  • 【2026】 LLM 大模型系统学习指南 (31)
  • Java基于Spring Boot+Vue的游戏账号租售系统
  • 还在为WebSocket调试抓狂?这个在线工具,一键连接、实时测试,完全免费!
  • 保定英语雅思培训机构推荐。2026权威测评出国雅思辅导机构口碑榜
  • 点播系统springboot直出和nginx代理两种实现方案对比
  • 写论文软件哪个好?宏智树 AI 带你解锁毕业论文高效创作新姿势
  • Blender 与 Cinema 4D 全面对比:3D 软件怎么选?
  • 9款AI写论文哪个好?宏智树AI凭「真文献+实图表」实测封神!