[qemu8.0源码分析]-A.Windows编译

一、什么是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包管理的。

二、下载安装

  1. 打开官方网站 **https://www.msys2.org/

![[Pasted image 20230621182137.png]]当前版本为msys2-x86_64-20230526.exe
如果下载缓慢到http://yaoisss.ddns.net:9003/yaoisss/qemu6.1_need_software.git下载

  1. 安装
    ![[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]]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值