如何为MSYS2获取mingw-w64 9.3.0及更早版本(GCC>5.0)?
获取指定版本MSYS2 mingw-w64工具链的方法
启用MSYS2存档仓库安装
MSYS2保留了旧版本软件包的存档,你可以通过修改pacman配置来访问这些历史版本:- 编辑
/etc/pacman.conf,添加对应架构的存档仓库配置:- x86_64架构:
[mingw64-mingw-w64-x86_64] Server = https://repo.msys2.org/mingw/x86_64/ Server = https://sourceforge.net/projects/msys2/files/mingw/x86_64/ Server = https://mirror.msys2.org/mingw/x86_64/ - i686架构:
[mingw32-mingw-w64-i686] Server = https://repo.msys2.org/mingw/i686/ Server = https://sourceforge.net/projects/msys2/files/mingw/i686/ Server = https://mirror.msys2.org/mingw/i686/
- x86_64架构:
- 执行
pacman -Sy刷新仓库缓存。 - 查询目标版本的完整包名:
- x86_64:
pacman -Ss mingw-w64-x86_64-gcc,从结果中找到9.3.0或更早(>5.0)版本的完整标识(包含后缀编号)。 - i686:
pacman -Ss mingw-w64-i686-gcc,同理筛选目标版本。
- x86_64:
- 安装指定版本:
- x86_64:
pacman -S mingw-w64-x86_64-gcc=9.3.0-xxx(替换xxx为实际后缀编号) - i686:
pacman -S mingw-w64-i686-gcc=9.3.0-xxx
- x86_64:
- 编辑
本地安装旧版本包文件
直接从MSYS2的文件服务器下载对应版本的.pkg.tar.zst格式包文件,然后在MSYS2终端中执行pacman -U 本地包文件路径完成安装。历史包的存储路径与上述仓库URL对应,可按版本目录筛选。锁定版本避免自动升级
安装完成后,为防止后续pacman更新时升级GCC,编辑/etc/pacman.conf添加版本锁定:# x86_64架构示例 IgnorePkg = mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs # i686架构示例 # IgnorePkg = mingw-w64-i686-gcc mingw-w64-i686-gcc-libs
内容的提问来源于stack exchange,提问作者rboy
相关产品推荐
相关产品推荐

