windows使用msys2安装MinGW64-新
参考文档
下载 mysy2
官网下载非常慢,所以我们可以选择从清华大学的源下载:
- 清华大学的msys2源说明: https://mirrors.tuna.tsinghua.edu.cn/help/msys2
- 下载地址: https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/
在页面中找到最新的安装包,格式如下(个人喜欢压缩包,可以直接解压使用):
msys2-base-x86_64-XXXXXX.tar.xz
或者
msys2-x86_64-XXXXXX.exe
安装 msys2
tar.xz格式的安装包解压即可。
安装目录说明
| 特性 | mingw64 | ucrt64 | clang64 |
|---|---|---|---|
| 默认编译器 | GCC(x86_64-w64-mingw32-gcc) | GCC(x86_64-w64-mingw32-gcc) | Clang(clang-cl / x86_64-w64-mingw32-clang) |
| C 标准库 | msvcrt.dll(传统 MSVC 运行时) | ucrtbase.dll(通用 C 运行时) | ucrtbase.dll(通用 C 运行时) |
| C++ 标准库 | libstdc++(GCC 默认) | libstdc++(GCC 默认) | libc++(Clang 默认,可选 libstdc++) |
| ABI 兼容性 | 兼容旧版 Windows(XP+) | 兼容 Windows 10/Server 2016+ | 兼容 Windows 10/Server 2016+ |
| 工具链命名空间 | x86_64-w64-mingw32-* | x86_64-ucrt-mingw32-* | x86_64-clang-mingw32-* |
| 包前缀 | mingw-w64-x86_64-* | mingw-w64-ucrt-x86_64-* | mingw-w64-clang-x86_64-* |
| 主要优势 | 兼容性最广,生态成熟 | 标准合规性高,支持现代 C 特性 | 编译速度快,LLVM 工具链集成好 |
总体来说:
- mingw64是传统兼容型环境,基于 GCC 和 msvcrt,支持旧系统;
- ucrt64是现代标准型环境,基于 GCC 和 UCRT,支持现代 C 标准,仅兼容新系统;
- clang64是前沿工具型环境,基于 Clang/LLVM 和 UCRT,支持最新 C/C++ 特性,集成 LLVM 工具链。
总结
如果是 windows 10 及以上系统,建议使用 ucrt64 来开发 c/c++ 应用。
如果报错(例如:ucrt 在某些源码编译过程中不识别C盘、D盘之类的路径问题),再切换回 mingw64 。
切换环境的方法
- 手动配置环境变量
- 通过快捷方式启动:MSYS2 安装后会生成MSYS2 MinGW 64-bit(mingw64)、MSYS2 UCRT64(ucrt64)、MSYS2 CLANG64(clang64)的快捷方式,点击即可进入对应环境。
更详细的说明请在百度、或豆包中搜索:MSYS2中mingw64、ucrt64、clang64的区别与联系。
初始化
由于本示例是免安装版,需要进行初始化。
运行安装目录下的msys2_shell.cmd即可。
配置国内源(清华大学的源)
方式一
编辑 /etc/pacman.d/ 下的所有文件,把 https://mirror.msys2.org/ 替换为 https://mirrors.tuna.tsinghua.edu.cn/msys2/ 。
例如:修改 /etc/pacman.d/mirrorlist.mingw64,把https://mirror.msys2.org/mingw/x86_64/
修改为https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
方式二
运行 msys2.exe,输入如下命令:
1$ sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
更新源
运行 msys2.exe,输入如下命令:
1$ pacman -Syu
安装常用工具/命令
安装 c/c++ 开发环境
安装 c/c++ 工具
运行 msys2.exe,输入如下命令:
1# mingw64 环境
2$ pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
3
4# ucrt64 环境
5$ pacman -S mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake
验证是否安装成功
在上面的步骤中,我们安装了 mingw64 和 ucrt64 两个 c/c++ 环境。
在安装目录下,mingw64.exe 和 ucrt64.exe 分别对应两个环境。
根据实际情况,我们可以选择任意一个环境启动。
建议优先使用 ucrt64 环境;如果构建编译报错,再使用 mingw64 环境。
以 mingw64 环境为例 ( 运行 mingw64.exe ):
1$ gcc --version
2gcc (Rev5, Built by MSYS2 project) 13.2.0
3Copyright (C) 2023 Free Software Foundation, Inc.
4This is free software; see the source for copying conditions. There is NO
5warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6
7$ g++ --version
8g++ (Rev5, Built by MSYS2 project) 13.2.0
9Copyright (C) 2023 Free Software Foundation, Inc.
10This is free software; see the source for copying conditions. There is NO
11warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
看到以上内容则说明安装成功。
关于环境变量
如果是在普通的 cmd 中运行,建议预先指定环境变量。
还是以 mingw64 为例:
1set MSYS2_HOME=D:\dev\msys64
2set MINGW_HOME=D:\dev\msys64\mingw64
3set PATH=%PATH%;%MSYS2_HOME%\usr\bin;%MINGW_HOME%\bin
安装其他常用工具
运行 msys2.exe,输入如下命令:
1# 安装 git、vim
2pacman -S git vim
评论