用cygwin编译qemu源代码

官方网站推荐用msys编译qemu源代码,但在实际过程中发现用msys来编译跟踪qemu源代码有一些不方便的地方:

 

1. msys本身没有gdb调试工具,需要另外下载安装。

2. msys 所带工具有限,比如目前没有集成dd工具,无法全面编译安装qemu-0.12.3.

 

经过几天努力,终于能在cygwin下编译成功。

 

首先需要zlib和SDL库,在cygwin下编译安装这两个库是要注意的是安装路径,不然qemu找不到对应的h文件而导致编译失败。通过查找在我机器上mingw安装路径在

/usr/i686-pc-mingw32

 

所以安装zlib过程如下:

$./configure --prefix=/usr/i686-pc-mingw32

 

$make

$make install

 

安装SDL同样如此。最后要把SDL.dll和sdl-config拷贝到cygwin的bin目录下,注意不是mingw的bin目录。

 

然后就可以编译安装qemu.这里以0.12.3版为例

 

qemu源码可放在任意位置,比如d:/qemu/qemu-0.12.3

 

可这样操作:

$cd d:/qemu/qemu-0.12.3

$./configure --target-list=i386-softmmu --enable-debug //后面一个参数说明我们将建立带调试信息的qemu

$make

$make install

 

注意在带上--enable-debug 选项时有几个地方会报-ffs未定义,暂时用vim去掉这几个地方的ffs调用,编译通过。

 

经测试,编译产生的qemu能正常安装reactos-0.3.10

 

常用技巧:

 

如何用gcc得到源代码与对应汇编并排显示的结果?

用-g -Wa,-adhls参数即可。

注意逗号,-Wa表示后面用逗号分隔的参数list是传给Assembler的参数。

就像-Wl表示后面的参数是传给Linker的参数一样。

例如:$gcc -c -g -Wa,-adhls my_function.cpp >my_function.s        [不加-c的话会进行link,有时候只想查看一个文件的汇编代码,不一定要求通过链接]

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值