本文记录在Windows平台中,利用MSYS2对QEMU进行编译,其中有一些暗坑记录下,参考:
https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2

1、下载安装msys2
到MSYS2官网下载并安装:http://www.msys2.org/ ,可以安装到C盘也可以安装到D盘,哪个盘容量大就安装到哪里

2、安装完成后选择启动MSYS2,它并不会给你建立快捷方式,你需要到安装目录下找

3、更新MSYS2

pacman -Syu

4、更新完成后重新打开安装目录下的mingw64.exe,再更新(这里有一个坑,如果你运行的是目录下的msys2.exe,在安装完编译环境后可能会提示你没有CC编译环境,这时关闭msys2.exe,打开mingw64.exe再试下)

pacman -Su

5、安装qemu的编译环境,基础软件包

pacman -S base-devel mingw-w64-x86_64-toolchain git python

6、然后安装任何所需的QEMU特定包。对于基本设置,您可以使用:

pacman -S mingw-w64-x86_64-glib2 mingw64/mingw-w64-x86_64-gtk3 mingw64/mingw-w64-x86_64-SDL2

7、 初始化git存储库

git clone git://git.qemu-project.org/qemu.git
cd qemu
git submodule update --init ui/keycodemapdb
git submodule update --init capstone
git submodule update --init dtc

8、 最后构建QEMU (如果直接构建官方源码,可能会报 capstone 错误,使用
–disable-capstone 参数)

./configure --enable-gtk --enable-sdl --disable-capstone --disable-debug-info --disable-debug-info
make

备注:编译时error: “__USE_MINGW_ANSI_STDIO” redefined [-Werror],define __use_mingw_ansi_stdio 0 /* was not defined so it should be 0 */如果报错,修改目录中msys64\mingw64\x86_64-w64-mingw32\include\_mingw.h第431行的0为1

编译测试通过!

error