一、什么是MSYS2
MSYS2是一套工具和库,专为在Windows环境下的用户提供软件构建和安装的便利。它的主要目的是让那些熟悉Linux操作系统的人,在Windows上能够像在Linux环境下一样操作。它提供了一个基于开源软件的原生环境,使得在Windows上进行软件构建就像在使用Linux一样。在Windows上,由于需要进行交叉编译等特殊任务,使用多个不同的环境和工具来完成不同的工作是非常常见的需求。MSYS2就是为了满足这种实际需求而设计的。
除了MSYS2,市面上还有几个与之相似的软件,可以用于在Windows环境下进行类Unix软件的开发和编译。这些软件包括:Cygwin、WSL、MinGW-w64。
1.MSYS2 vs WSL:
MSYS2允许您构建原生的Windows程序,而WSL只能进行交叉编译,这使得事情更加复杂。如果您只是需要Linux的命令行工具,或者想构建最终部署在Linux服务器上的软件,那么WSL是更好的选择。
2.MSYS2 vs Chocolatey:
Chocolatey主要打包已构建的(开源和闭源)软件,并使其易于安装/更新。而在MSYS2中,所有软件包都是从源代码构建的,您可以在自己的机器上轻松重现构建过程。Chocolatey软件包的优点在于,打包的安装程序通常具有更好的Windows集成性,可以设置文件关联、快捷方式等。而且由于这些软件包不是从源代码构建的,所以还有很多针对闭源软件(如Visual Studio等)的软件包,否则很难管理/更新。
3.MSYS2 vs Cygwin:
MSYS2中的Unix工具直接基于Cygwin,因此它们之间存在一些重叠。虽然Cygwin专注于在Windows上构建Unix软件,而MSYS2专注于构建针对Windows API构建的本地软件。
4.MSYS2 vs Arch Linux:
MSYS2和Arch Linux共享软件包管理器及其相关功能,如构建定义、软件打包规则、更新机制、软件包签名、分发方式以及滚动式发布等。通过重用这些功能和概念,我们可以将重点放在实际的软件包上,并从Arch Linux开发者的经验和工作中受益。对于已经熟悉Arch Linux的用户,开始使用MSYS2也会更加容易。
参考:https://www.msys2.org/docs/what-is-msys2/
这些软件在不同方面提供了类Unix环境的功能和工具,使得在Windows上进行开发和编译更加便捷。具体选择哪个软件取决于用户的需求和偏好,以及所开发和编译的软件的特定要求。
这里需要pacman的使用经验,因为MSYS2是使用pacman包管理的。
二、下载安装
- 打开官方网站 **https://www.msys2.org/
![[Pasted image 20230621182137.png]]当前版本为msys2-x86_64-20230526.exe
如果下载缓慢到http://yaoisss.ddns.net:9003/yaoisss/qemu6.1_need_software.git下载
- 安装
![[Pasted image 20230621183316.png]]
![[Pasted image 20230621183334.png]]
![[Pasted image 20230621183352.png]]
![[Pasted image 20230621183407.png]]
等待解压安装软件(我电脑卡差不多5分钟)
![[Pasted image 20230621184129.png]]
![[Pasted image 20230621184139.png]]
这就完成了
![[Pasted image 20230621184527.png]]
会安装这么多的环境,具体每个环境干啥主要参考:
**https://www.msys2.org/docs/environments/
![[Pasted image 20230621190202.png]]
默认会启动UCRT64,通用C运行
![[Pasted image 20230621184738.png]]
一键安装
ucrt版
pacman -S mingw-w64-ucrt-x86_64-qemu
i386版
pacman -S mingw-w64-x86_64-qemu
手动编译参考:
**https://wiki.qemu.org/Hosts/W32
1. 更新包,可能会要重启
pacman -Syu
2. 更新剩余包
pacman -Su
3. 安装基本开发工具
pacman -S base-devel mingw-w64-x86_64-toolchain git python ninja
4. 下载代码
git clone [https://gitlab.com/qemu-project/qemu.git](https://gitlab.com/qemu-project/qemu.git),如果不行可以选择http://yaoisss.ddns.net:9003/yaoisss/qemu.git
5.打开环境开始编译
cd qemu
./configure --enable-sdl --enable-gtk
make
编译完成后会在,C:\msys64\home\yaoisss\qemu\build 目录下生成相关软件
![[Pasted image 20230621193726.png]]