注意:平台需要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/的目录下
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/)
删除原来第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)
在147行后成增加
echo $(dirname $0)
cd $(dirname $0)
使得在编译capstone的时候跳转到正确的目录。
使得在编译capstone的时候跳转到正确的目录。
修改的这些代码都已经集成到qemu-2.12.0_src_fix.zip网盘
所以只需要把这个zip文件解压到 mysys2/home/用户名/目录下,然后执行mingw64编译环境的mysys2
再用cd ./home/用户名/代码目录/
执行 ./qemu_build.sh
接下来只要等待了。。。
所以只需要把这个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---------------------修改的脚本及配置
链接: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---------------------修改的脚本及配置