在Windows下编译QEMU

注意:平台需要64位的系统比如win10 64位或win7 64位。
1.到msys2.org下载MSYS2 64位版本,msys2-x86_64-20161025.exe已经上传到网盘。
2.安装MSYS2后需要以下操作(最好不要安装在C盘,找一个空间较大的盘如:E:\msys64)
   a.)运行安装目录下的msys2.exe
      在msys2 shell中执行:
      pacman -Syu 更新系统到最新,更新完后系统会要求重启,关掉msys2 shell.
   b.)重新启动msys2.exe
      执行pacman -Su,看是否还有更新,如果有则更新。
   c.)安装基础开发环境
      执行 pacman -S base-devel mingw-w64-x86_64-toolchain git
   d.)安装编译环境
      执行pacman -S mingw-w64-x86_64-glib2 mingw64/mingw-w64-x86_64-gtk3 mingw64/mingw-w64-x86_64-SDL2
3.执行有编译环境的msys2
   关闭原来已经打开的msys2,到安装目录下执行mingw64.exe,这个是有mingw64编译环境的mysys2.
   所以后面编译中都要用这个编译环境。不然,编译的时候一直提示 编译器不可用(被坑了好久才找到原因)。
   两种方法下载代码
   a.) 用git clone
      git clone git://git.qemu-project.org/qemu.git
      cd qemu
      git submodule update --init dtc
      很可惜,拉下来的代码无法编译通过。
   b.)从网上下载qemu-2.12.0.tar.bz2 解压到 mysys2的home/用户名/目录下
      cd qemu-2.12.0
      ./configure --enable-gtk --enable-sdl --python=python2
      make
      很可惜无法通过,提示capstone的库,没有规则编译
     
      好吧,那就自己修改makefile了。
     
      最后修改了如下的文件:
      增加qemu_build.sh
      内容如下:
         SRC_PATH=$PWD
         BUILD_DIR=$PWD/OUT
         mkdir -p $BUILD_DIR
         cd $BUILD_DIR
         ../configure --enable-gtk --enable-sdl --disable-debug-info --python=python2
         make
      这个脚本的功能有 1.)编译的是非debug版本,原生编译出来的一个exe达60M 加入参数 --disable-debug-info 可以减少空间
                                 2.)原生所有的文件都在代码目录下,编译完成后代码目录结构发生变化,乱得一匹,所以通过脚把所有的编
                                      译出来的文件都生成在了./OUT/的目录下
      修改./Makefile
      删除原来第503行会编译报错的 命令
      修改为如下两行命令,用于生成capstone的中间库
      $(call quiet-command,$(SRC_PATH)/capstone/make.sh)
 
      $(call quiet-command,mv  $(SRC_PATH)/capstone/libcapstone.* $(BUILD_DIR)/capstone/)
      修改./capstone/make.sh
      在147行后成增加
      echo $(dirname $0)
      cd $(dirname $0)
      使得在编译capstone的时候跳转到正确的目录。
      修改的这些代码都已经集成到qemu-2.12.0_src_fix.zip网盘
      所以只需要把这个zip文件解压到 mysys2/home/用户名/目录下,然后执行mingw64编译环境的mysys2
      再用cd ./home/用户名/代码目录/
      执行 ./qemu_build.sh
      接下来只要等待了。。。
      以上所需要的软件包及zip包下载地址:
      链接:https://pan.baidu.com/s/1pZ32oR5P8GWAV6oOckEy0w 密码:hwm0
      文件说明:
      MySys2_64-----------------------------msys2 64位系统
      qemu-2.12.0_src_fix.zip----------------qemu-2.12.0代码修改后能编译通过的源码包。
      qemu-2.12.0.tar.bz2-------------------qemu-2.12.0原始代码包。
      qemu modified.rar---------------------修改的脚本及配置

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
如果你在编译后运行`qemu --version`命令时,无法识别`qemu`命令,可能是因为`qemu`的可执行文件没有正确地添加到系统的可执行路径中。你可以尝试以下几个步骤来解决这个问题: 1. 确认编译成功:首先,请确保你已经成功地编译了`qemu`。编译过程可能会有一些依赖项和配置选项,你需要按照官方文档或编译说明进行操作。 2. 检查可执行文件路径:确认编译后的`qemu`可执行文件所在的路径。你可以使用`ls`命令或者文件管理器来查找该文件。通常情况下,编译后的可执行文件位于`build`目录或者指定的安装目录中。 3. 添加到系统路径:将`qemu`的可执行文件所在的路径添加到系统的可执行路径中。这样系统就能够正确地找到并执行`qemu`命令。具体的步骤可能因操作系统而异,以下是一些常见操作系统的示例: - Linux/macOS:可以将`qemu`的可执行文件所在的路径添加到`PATH`环境变量中。可以通过编辑`.bashrc`或`.bash_profile`文件,并在其中添加类似于以下内容的行: ``` export PATH=/path/to/qemu:$PATH ``` 然后保存文件并重新启动终端,或者执行`source .bashrc`或`source .bash_profile`命令使环境变量生效。 - Windows:可以将`qemu`的可执行文件所在的路径添加到系统的环境变量中。可以通过以下步骤进行操作: - 在桌面上,右键点击"此电脑"(或"我的电脑"),选择"属性"。 - 在弹出的窗口中,点击"高级系统设置"。 - 在"系统属性"窗口中,点击"环境变量"按钮。 - 在"环境变量"窗口中,找到"Path"变量,并点击"编辑"。 - 在弹出的窗口中,点击"新建",然后输入`qemu`的可执行文件所在的路径。 - 点击"确定"保存修改,并关闭所有窗口。 - 重新启动命令提示符或PowerShell窗口,然后尝试运行`qemu --version`命令。 如果你按照上述步骤操作后仍然无法解决问题,请提供更多详细信息,例如你的操作系统、编译过程中的任何错误信息等,以便我能够更好地帮助你。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值