MSYS2是一个集成了一系列GNU工具集、工具和库的开源软件包的集合。它提供了一个类似于Unix/Linux的shell环境,可以在Windows系统中编译和运行许多Unix/Linux应用程序和工具。
MSYS2官网地址:https://www.msys2.org
提到MSYS2,就不得不说MinGW(Minimalist GNU for Windows)以及它的前身MSYS(Minimal SYStem)。
MinGW (Minimalist GNU for Windows)是一种用于开发原生 Windows 应用的最小化 GNU 开发环境,可以理解为开发 Windows 程序的 gcc,也就是说这个gcc就是专门编译出能在windows平台运行的程序的编译器。MinGW 本身并不一定要运行在 Windows 下,Linux 上也可以通过 MinGW 工具链交叉编译 Windows 程序。
MSYS (Minimal SYStem)是一系列 GNU 工具(bash、make、gawk、grep等)的集合(基于旧版 Cygwin),用于弥补 Windows cmd shell的不足,以使 MinGW 能够在 Windows 上更便于使用。
但是,由于MinGW 和 MSYS 更新缓慢,催生了MSYS2(基于新一代 Cygwin 和 MinGW-w64进行的重构),提供更多 API 支持和 64 位应用开发支持。MSYS2基于MinGW-w64平台,提供了一个完整的开发环境,包括GCC编译器、GDB调试器、Make、Git版本控制系统和许多其他开发工具。除了常用的开发库和工具之外,MSYS2还提供了许多专门针对Windows平台的库和工具,方便开发人员进行跨平台开发和移植工作。
总体来说:
- MSYS2拥有比较完整的Linux工具链和库,使得它成为了许多跨平台开发和移植项目的首选工具。
- 使用MSYS2可以轻松地在Windows系统中搭建一个类似于Linux的软件开发环境,方便开发人员进行开发和调试工作。
MSYS2安装和配置MinGW-w64 C++ 环境
首先,登录官网下载MSYS2的安装程序,安装 MSYS2 需要 64 位 Windows 10(1809+)或更新版本,下载完成后,运行安装程序,选择安装目录,下一步进行安装即可。
安装完成后,我们先添加一个环境变量MSYS2_PATH_TYPE,值为inherit,使MSYS2继承Windows的PATH环境变量。
MSYS2_PATH_TYPE=inherit
在开始菜单中找到MSYS2 UCRT64,启动MSYS2 UCRT64终端。首次启动,使用以下命令,先从服务器下载新的软件包数据库:
pacman -Sy
然后,升级所有已安装的软件包:
pacman -Su
接下来,安装MinGW-w64 toolchain。
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

直接输入回车,默认安装所有,然后输入Y,继续安装。结束后,可以使用以下命令,检查安装情况:
gcc --version
g++ --version
gdb --version
Pacman(Package Management) 软件包管理器
pacman 是 MSYS2 的包管理器,类似于 Linux 下的 apt、yum 或者 dnf,它允许用户安装、更新、删除、查询、清理软件包等。以下是一些基本的操作命令:
# 更新所有已安装的软件包
pacman -Syu
# 搜索软件包
pacman -Ss package-name
# 安装软件包
pacman -S package-name
# 删除软件包
pacman -R package-name
# 清除未使用的软件包
pacman -Scc
MSYS2 和 pacman 为 Windows 用户提供了一个强大的工具,使得他们可以在 Windows 环境下运行 Linux-like 命令和包管理。虽然这不是在 Windows 上运行 Linux 的替代品,但它提供了一个很好的工具,使得我们可以更方便地在 Windows 上开发和管理我们的项目。
例如,使用以下命令,安装Git和Python。
pacman -S git
pacman -S python
接下来,我们将使用MSYS2环境,在Windows下更方便的安装Emscripten,从而进行WebAssembly的开发工作。

文章评论