gpt4 book ai didi

qemu - 在 Windows 10(64 位)下为 Windows 10(64 位)编译 QEMU

转载 作者:行者123 更新时间:2023-12-04 01:43:18 29 4
gpt4 key购买 nike

我设法使用以下命令在 Windows 10(64 位)下编译 QEMU(3.0.50)(基本上遵循 these instructions):

./configure --enable-gtk --enable-sdl
make

但是,当开始 qemu-system-x86_64.exe在控制台中,什么也没有发生。我预计会出现一个窗口。启动 exe 后不久,我得到了提示。没有任何东西打印到控制台。没有必要的 DLL 丢失。可能是什么问题呢?

最佳答案

最后,我设法在 Windows 10 Home 64 位下编译和运行 QEMU。
有几个陷阱:

  • 由于 mingw 中的编译器错误(参见 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86832https://www.mail-archive.com/qemu-devel@nongnu.org/msg557409.html ),您必须使用 --disable-stack-protector 配置 QEMU 并(一种解决方案)将函数 __stack_chk_fail 添加到源文件。
  • 使用 --disable-werror 配置 QEMU。
  • 从 makefile 中删除 Capstone 项目。


  • 这是编译 qemu-system-x86_64.exe 的完整分步指南:

    日期:2018-10-31

    操作系统:Microsoft Windows 10 家庭版 64 位

    指南基于: https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2
  • 下载并安装 msys2 到 C:\msys64:
    http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe
  • 启动C:\msys64\mingw64.exe
  • 更新(然后关闭窗口并重新启动 mingw64.exe):pacman -Syu
  • 更新:pacman -Su
  • 安装基础包:pacman -S base-devel mingw-w64-x86_64-toolchain git python
  • 安装 QEMU 特定数据包:pacman -S mingw-w64-x86_64-glib2 mingw-w64-x86_64-gtk3 mingw-w64-x86_64-SDL2
  • 获取 QEMU 资源:
  • git clone git://git.qemu-project.org/qemu.git
  • cd qem
  • git 子模块更新 --init ui/keycodemapdb
  • git 子模块更新 --init capstone
  • git 子模块更新 --init dtc
  • 插入
    无效__stack_chk_fail(无效);
    无效__stack_chk_fail(无效)
    {
    }
    到 qemu\util\oslib-win32.c
    例如在第 44 行
  • 在 qemu\Makefile
  • 中注释掉 (#) Capstone(第 508 行)
  • 构建 QEMU:
  • ./configure --enable-gtk --enable-sdl --target-list=x86_64-softmmu --disable-werror --disable-stack-protector
  • 制作
  • 在 qemu/x86_64-softmmu 中运行
    ./qemu-system-x86_64 -L ./../pc-bios
  • 可选(以获得更好的性能):根据本指南安装 HAXM:https://www.qemu.org/2017/11/22/haxm-usage-windows/并使用选项 -accel hax
  • 启动 QEMU

    关于qemu - 在 Windows 10(64 位)下为 Windows 10(64 位)编译 QEMU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53084815/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com