MSYS2

1- MSYS2
MSYS2 是一个在 Windows 上模拟 Linux 环境的开发工具,适合初学者使用。
2- 图表说明
1. 安装流程图
graph TD;
A[下载 MSYS2 安装包] --> B[运行安装程序];
B --> C[初始化 MSYS2];
C --> D[更新软件包数据库和基础包];
D --> E[安装开发工具];
E --> F[设置环境变量];
F --> G[编写和编译 C/C++ 程序];
G --> H[使用 pacman 安装其他软件包];
2. 代码注释示例
#include <stdio.h>
int main() {
printf("Hello, World!\n"); // 输出 "Hello, World!"
return 0; // 返回 0 表示程序成功执行
}
3- 安装 MSYS2
3. 下载 MSYS2 安装包:
- 访问 MSYS2 官网(https://www.msys2.org/),点击页面上的下载链接,选择适合你系统架构(32 位或 64 位)的安装包进行下载。
3.1 3.1.1- winget 安装
winget install --id MSYS2.MSYS2
4. 运行安装程序:
- 双击下载的安装包,按照提示进行安装。建议安装路径为
C:\msys64,避免使用带有空格或特殊字符的路径。
4- MSYS2 环境对比
| 环境 | 运行时 | 编译器 | 架构 | 主要用途 |
|---|---|---|---|---|
| MSYS2 UCRT64 | 微软 UCRT | GCC | x86_64 (64 位) | 通用环境,推荐使用,兼容性最好 |
| MSYS2 MSYS | MSYS2 自身 | GCC | i686 (32 位) | 构建 MSYS2 本身和一些 POSIX 工具 |
| MSYS2 MINGW64 | MinGW-w64 | GCC | x86_64 (64 位) | 构建原生 Windows 程序 (64 位) |
| MSYS2 MINGW32 | MinGW-w64 | GCC | i686 (32 位) | 构建原生 Windows 程序 (32 位) |
| MSYS2 CLANG64 | Clang | x86_64 (64 位) | 使用 Clang 构建原生 Windows 程序 (64 位) | |
| MSYS2 CLANGARM64 | Clang | AArch64 (ARM64) | 使用 Clang 构建原生 Windows 程序 (ARM64) |
5. 说明:
- 运行时: 程序运行时所依赖的库和环境。
- 编译器: 用于将代码编译成可执行文件的工具。
- 架构: 程序运行的目标处理器架构。
- 主要用途: 该环境主要用于什么场景.
6. 简单来说:
UCRT64: 通用环境,推荐使用。
MSYS: MSYS2 自身环境。
MINGW64/MINGW32: 构建原生 Windows 程序,分别针对 64 位和 32 位。
CLANG64/CLANGARM64: 使用 Clang 编译器构建原生 Windows 程序,分别针对 64 位和 ARM64。
7. 总结:
UCRT64 是一个通用环境,主要用于运行 POSIX 工具和程序,它本身不包含编译器和调试器。
如果你需要使用 GCC 和 GDB 等 MinGW 工具,需要启动 MinGW 环境,或者手动将 MinGW 的 bin 目录添加到 UCRT64 的 PATH 中。
8. 初始化 MSYS2:
- 安装完成后,打开 MSYS2 终端(MSYS2 MSYS)。
8.1 4.4.1- 运行以下命令更新软件包数据库和基础包:
pacman -Syu # 更新软件包数据库和基础包
8.2 4.4.2- 如果提示重新启动 MSYS2 终端,关闭终端并重新打开,然后继续运行:
pacman -Su # 完成更新
5- 配置和使用 MSYS2
9. 安装开发工具:
- 打开 MSYS2 MinGW 终端(MSYS2 MinGW 64-bit 或 MSYS2 MinGW 32-bit)。
9.1 5.1.1- 安装 GCC 编译器:
pacman -S mingw-w64-x86_64-gcc # 安装 64-bit GCC 编译器
pacman -S mingw-w64-i686-gcc # 安装 32-bit GCC 编译器
9.2 5.1.2- 安装其他常用工具,如 GDB 调试器:
pacman -S mingw-w64-x86_64-gdb # 安装 64-bit GDB 调试器
pacman -S mingw-w64-i686-gdb # 安装 32-bit GDB 调试器
9.3 5.1.3- 安装完成后,可以通过以下命令验证安装:
gcc --version # 检查 GCC 版本
gdb --version # 检查 GDB 版本
10. 设置环境变量:
- 为了在命令行中全局访问已安装的工具,需要将 MSYS2 的二进制目录添加到系统的 PATH 环境变量中。
- 找到 mingw64 或 mingw32 的 bin 目录路径(例如
C:\msys64\mingw64\bin),并将其添加到系统环境变量 PATH 中:- 右键点击“此电脑”或“我的电脑”,选择“属性”->“高级系统设置”->“环境变量”。
- 在“系统变量”区域找到名为“Path”的变量,双击编辑。
- 在变量值的末尾添加
;C:\msys64\mingw64\bin(注意分号分隔符)。 - 点击“确定”保存更改。
6- 使用 MSYS2 进行开发
11. 编写和编译 C/C++ 程序:
- 打开 MSYS2 MinGW 终端,使用文本编辑器(如 nano)编写一个简单的 C 程序:
nano hello.c # 使用 nano 编辑器创建 hello.c 文件
```
- 在 nano 编辑器中输入以下代码:
#include <stdio.h>
int main() {
printf("Hello, World!\n"); // 输出 "Hello, World!"
return 0; // 返回 0 表示程序成功执行
}
```
- 保存并退出 nano(按 `Ctrl + X`,然后按 `Y` 确认保存,最后按 `Enter`)。
- 使用 GCC 编译该程序:
```bash
gcc -o hello hello.c # 编译 hello.c 生成可执行文件 hello
```
- 运行编译后的程序:
```bash
./hello # 运行生成的可执行文件
```
## 12. 2- 使用 pacman 安装其他软件包:
- MSYS2 提供了丰富的软件包,可以通过 pacman 安装:
```bash
pacman -S git # 安装 Git
pacman -S zsh # 安装 Zsh
- 使用
pacman -Ss package_name搜索软件包,pacman -Si package_name查看软件包信息。
7- 总结
通过以上步骤,你已经成功安装并配置了 MSYS2,并学会了如何使用它进行简单的开发工作。MSYS2 提供了一个强大的开发环境,结合了 Windows 和 Linux 的优点,适合在 Windows 上进行开源软件的开发和编译。