[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

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念