[INSTALL] MSYS2 -- Windows下的类Linux环境

2024-09-07 02:04

本文主要是介绍[INSTALL] MSYS2 -- Windows下的类Linux环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、安装

1. 从https://www.msys2.org/ 下载安装msys2
也可以从镜像: http://mirrors.aliyun.com/msys2/distrib/x86_64/ 下载最新的安装包 msys2-x86_64-20230718.exe

2. 更新下载源为阿里云
sed -i "s#https\?://mirror.msys2.org/#http://mirrors.aliyun.com/msys2/#g" /etc/pacman.d/mirrorlist*
然后通过  pacman -Syyu 更新一下软件包列表

注意: msys2有多个发行版本,包括mingw32,mingw64,ucrt64,lang32,lang64等等。由于我们选择gcc,以及系统都是win10以上,所以我们选择ucrt64这个发行版本。

3.安装开发环境
可以通过  pacman -Ss <name or part of the name of the package>  来查询有哪些包。
可以通过  pacman -Ql package_name 来查看某个安装的包的具体文件
可以通过  pacman -Rsn package_name 来删除某个安装的包的具体文件,包括依赖
通过 pacman -S  make   安装make
通过 pacman -S  mingw-w64-ucrt-x86_64-gcc   安装gcc
通过 pacman -S  libpcap-devel     安装libpcap的开发环境
通过 pacman -S  mingw-w64-ucrt-x86_64-libpcap     安装libpcap的开发环境
通过 pacman -S  mingw-w64-ucrt-x86_64-cjson  安装cjson

二、使用

        如果是使用makefile编译,在msys2的窗口中进入你平时编译的文件路径,正常使用make编译即可。

        如果是简单代码使用gcc编译,也是直接进入源码程序的文件夹,使用gcc命令编译即可。 

三、作用

        使用 msys2 可以生成在 windows 环境下运行的可执行文件.exe。 

四、说明

         MSYS2(Minimal SYStem for Windows)是一个用于 Windows 环境下的软件开发平台,它为 Windows 用户提供了一个类似于 Unix 的命令行环境,从而使得开发者能够在 Windows 上轻松地进行跨平台开发。MSYS2 包括了三个主要组件:MSYS、MINGW 和 MINGW-w64。MSYS 是一个基于 Cygwin 的 Bash shell 环境,提供了许多 Unix 工具和命令;MINGW 和 MINGW-w64 则是用于编译 Windows 本地可执行文件的 GNU 工具链。

        MSYS2 的主要优势在于它能够简化跨平台开发流程。对于需要在 Windows 系统上进行 C/C++ 开发的用户来说,MSYS2 提供了一个熟悉的开发环境,使得开发者无需离开 Windows 就可以使用 GNU 工具链来构建和调试应用程序。此外,MSYS2 还提供了一个包管理系统,基于 Arch Linux 的 Pacman 包管理器,这使得安装和管理各种开发工具、库和其他依赖变得非常简单。

        通过 MSYS2,开发者可以在 Windows 上创建、编译和运行适用于 Windows 的应用程序。这对于那些需要同时支持 Windows 和 Unix-like 系统的应用程序尤其有用。MSYS2 支持 32 位和 64 位的 Windows 系统,并且可以用来构建针对不同架构(如 x86 和 x86_64)的可执行文件。此外,MSYS2 还支持多版本的 GCC 编译器,可以根据项目的具体需求选择合适的版本进行编译。

        对于开源项目和商业软件开发而言,MSYS2 是一个强大的工具,因为它不仅简化了 Windows 环境下的开发流程,还促进了跨平台软件的开发。开发者可以使用 MSYS2 来构建跨平台的应用程序,确保软件能够在不同的操作系统上运行良好。此外,MSYS2 还支持使用 CMake、Autotools 等现代构建系统,这使得项目管理和构建过程更加灵活和高效。

4.1 组成部分

        MSYS (Minimal SYStem): MSYS 是一个基于 Cygwin 的工具集,但它比 Cygwin 更轻量级。它提供了一个 POSIX 兼容的 shell 环境,允许用户在 Windows 上运行传统的 Unix 工具和脚本。MSYS2 包括两个主要的 shell 环境:MSYS2 和 MSYS2 UCRT(基于 UCRT 的版本)。

        MINGW (Minimalist GNU for Windows): MINGW 是一组 GNU 工具的 Windows 端口,包括编译器、链接器和其他开发工具。这些工具可以直接生成针对 Windows 的可执行文件,而不需要额外的模拟层。MINGW 的主要目的是提供一个轻量级的开发环境,使得用户可以在 Windows 上编译本地的 Windows 应用程序。

        MINGW-w64: MINGW-w64 是 MINGW 的一个扩展,增加了对 64 位 Windows 的支持,并改进了对 C++ 标准的支持。它包括了 GCC 编译器以及其他常用的开发工具,如 GDB 调试器。

4.2 功能

        包管理: MSYS2 使用 pacman 作为包管理器,类似于 Arch Linux 的包管理系统。你可以通过 pacman 安装各种软件包,包括编译工具、库文件、开发工具等。

        构建工具: MSYS2 集成了许多构建工具,如 makeautotoolscmake 等,使得在 Windows 上进行软件开发变得更加容易。

        跨平台编译: 除了可以在 Windows 上编译 Windows 程序外,MSYS2 还可以用来编译跨平台的应用程序,例如从 Linux 源代码编译 Windows 可执行文件。

        Shell 环境: MSYS2 提供了一个类似于 Linux 的命令行环境,使得熟悉 Linux 的用户可以无缝地过渡到 Windows 开发环境。

这篇关于[INSTALL] MSYS2 -- Windows下的类Linux环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143745

相关文章

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Linux部署jar包过程

《Linux部署jar包过程》文章介绍了在Linux系统上部署Java(jar)包时需要注意的几个关键点,包括统一JDK版本、添加打包插件、修改数据库密码以及正确执行jar包的方法... 目录linux部署jar包1.统一jdk版本2.打包插件依赖3.修改密码4.执行jar包总结Linux部署jar包部署

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装