MSYS2功能、用途及在win10下安装
一.介绍
MSYS2 是一个为 Windows 系统提供 Unix 环境的软件开发平台,基于 MinGW 和 MSYS 项目,旨在简化跨平台开发流程。
官网:https://www.msys2.org/
二.核心功能
1.类Linux环境的模拟
MSYS2通过修改版的Cygwin(POSIX兼容层)和MinGW-w64(本地Windows工具链),在Windows上模拟Linux的Shell环境(如Bash)、文件系统结构和命令行工具(如grep、sed、awk),支持直接运行Linux程序(如vim、git)。
2.包管理系统(Pacman)
移植自Arch Linux的Pacman包管理器,支持依赖解析、一键更新系统及安装/卸载软件包(如pacman -Syu更新系统)。
提供超过2000个预编译软件包,涵盖开发工具(GCC、CMake)、科学计算库(Python、NumPy)、多媒体工具(FFmpeg)等。
3.跨平台开发支持
本地Windows编译:通过MinGW-w64工具链生成原生Windows可执行文件(exe/dll),无需依赖第三方运行时库。
多架构支持:提供MSYS、MinGW32、MinGW64三种Shell环境,分别对应不同的编译目标(32位/64位Windows或POSIX兼容层)。
4.集成开发工具链
包含完整的构建工具(如autotools、make)、调试器(GDB)、版本控制系统(Git/SVN),并支持主流编程语言的开发环境(如C/C++、Python、Rust)。
三.主要用途
1.Windows软件开发
为本地Windows应用提供编译环境,支持使用GCC、Clang等编译器构建高性能程序。
适用于开发跨平台库(如OpenSSL、Qt)或依赖Linux工具链的项目。
2.Linux工具迁移与脚本执行
在Windows上无缝运行Linux脚本(如Shell脚本)或工具(如curl、rsync),无需虚拟机或双系统。
3.教育与科研
提供Python科学计算库(NumPy、Matplotlib)、数据可视化工具,方便学术研究。
支持教学场景中的Linux命令实践,降低学习门槛。
4.自动化与持续集成
结合CI/CD工具(如Jenkins),实现Windows服务器的自动化构建与测试流程。
5.开源项目维护
简化依赖管理,通过Pacman快速安装开源库(如Boost、FFTW),提升开发效率。
三.优势与对比
四.win10上安装
1.下载安装程序(官网首页有):msys2-x86_64-20210725.exe
2.运行安装程序。MSYS2 需要 64 位 Windows 7 或更新版本。
3.输入所需的安装路径,然后安装即可,安装完成界面如下:
4.更新包数据库和基础包。除非您的安装文件是最新的,否则将需要两个步骤。
(1)从开始菜单运行“MSYS2 MSYS”。使用以下命令更新其余基本软件包:pacman -Su:
(2)现在 MSYS2 已经为您准备好了。安装mingw-w64 GCC工具链命令:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
5.要使用 mingw-w64 GCC 开始构建,请关闭此窗口并从“开始”菜单运行“MSYS MinGW 64 位”(也可以在安装目录下直接打开mingw64.exe)。现在您可以调用make或gcc构建适用于 Windows 的软件。(也可以添加环境变量,路径path = C:\msys64\mingw64\bin)
6.验证:
五.编译测试
- 跨平台编译一些linux上的软件包,比如这些软件包只有makefile没有Cmakelist.txt文件,就可以通过MSYS2来编译用于VS软件开发的dll和lib库。
下篇文章会通过编译gsl-2.8库来举例说明。