当前位置: 首页 > news >正文

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.验证:

五.编译测试

  1. 跨平台编译一些linux上的软件包,比如这些软件包只有makefile没有Cmakelist.txt文件,就可以通过MSYS2来编译用于VS软件开发的dll和lib库。

下篇文章会通过编译gsl-2.8库来举例说明。

相关文章:

  • 分布式数据库HBase
  • 跨域问题前端解决
  • cut命令用法
  • 链表算法中常用操作和技巧
  • istio 灰度实验
  • L2-023 图着色问题 #DFS C++邻接矩阵存图
  • 46. 评论日记
  • 深入解析多功能模糊搜索:构建高效灵活的JavaScript搜索工具析
  • 深度学习中模型量化那些事
  • 解决Long类型前端精度丢失和正常传回后端问题
  • 北大:检索增强LLM推理建模
  • Ubuntu 64-bit 交叉编译 FFmpeg(高级用户指南)
  • 2025AIGC终极形态:多模态(文本/图像/音乐/视频)系统整合
  • 开源软件与自由软件:一场理念与实践的交锋
  • 2024 天梯赛——工业园区建设题解
  • CF2075D Equalization
  • 代码随想录算法训练营Day21
  • Py一阶段习题汇总
  • 微型导轨的制造工艺中,热处理的目的是什么?
  • 202521 | 远程调用 | 注册中心
  • 深圳市网站建设哪家好/php搭建一个简单的网站
  • 58同城有做网站/网络营销课程思政
  • 东莞正规网站建设/网站优化软件哪个好
  • 博客 wordpress 登录/宁波seo怎么推广
  • 什么在线做动图的网站比较好/杭州网站推广平台
  • 如何做高大上的网站 知乎/seo什么职位