Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534021
  • 博文数量: 118
  • 博客积分: 3995
  • 博客等级: 中校
  • 技术积分: 1276
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-15 12:15
文章分类

全部博文(118)

文章存档

2014年(1)

2013年(1)

2010年(6)

2009年(27)

2008年(10)

2007年(33)

2006年(38)

2005年(2)

我的朋友

分类: LINUX

2009-02-16 17:31:36

决定做一做mit lab里的有关操作系统方面的东东 (2008也有了),做这个的一个必备工具就是bochs,编译时给加上调试参数,可以调试操作系统运行情况(就跟用gdb调试c程序类似,挺有意思)。

安装bochs(步骤可以参照tools.html)

1) 下载

$ wget

$ tar xzf bochs-2.2.6-6.828r2

$ cd bochs-2.2.6-6.828r2

2) 编译安装

$ ./configure --prefix=path_to_install \
  --enable-disasm \
  --enable-smp \
  --enable-debugger \
  --enable-new-pit \
  --enable-all-optimizations \
  --enable-4meg-pages \
  --enable-global-pages \
  --enable-pae \
  --disable-reset-on-triple-fault \
  --with-all-libs \
  --with-x \
  --with-x11 \
  --with-nogui
$ make && make install

如果不出意外的话(提示error),编译安装就ok了;但是对于我来说总是好事多磨,出了好几个错误,搞了好长时间才搞定。

第一个编译错误: 有关hash_map的,修改bx_debug/symbols.cc,在using namespace std;语句后面添加 using namespace __gnu_cxx;

第二个编译错误: 有关gdk/gdkkeysyms.h头文件的(说找不到该头文件),查看了configure文件,发现他把目录指向了/opt/gnome/include/...下面,而我的系统头文件在/usr/include/...下面,所以修改configure文件把所有/opt/gnome修改为/usr,使用vi打开执行命令":1,$s#/opt/gnome#/usr#g" 即可

第三个编译错误:有关wxWidgets的,总是提示说“duplicate case value”和"previously used here"之类的错误;查来查去在/usr/include/wx-2.6/wx/defs.h文件里发现一句话,说这个东东设计上就跟unicode不兼容等等之类,我想可能时我的wxWidgets有点问题,那我就重新编译一个来试试;

$ wget

$ tar xjf wxWidgets-2.8.9.tar.bz2

$ cd wxWidgets-2.8.9

$ ./configure --prefix=path_to_install_wxWidgets --enable-unicode --enable-monolithic

说实在的,上面的参数是我瞎拼凑的(./configure --help里找的),居然后来好用,呵呵;

然后设置一个环境变量

$ export WX_CONFIG=path_to_install_wxWidgets

然后再进入bochs-2.2.6-6.828r2目录重新configure,make,应该就ok

至于为什么ok我也不清楚,瞎猫碰到死耗子吧

一个编译好的bochs(debian lenny, gcc 3.4, binutils 2.18, bochs 2.26)

阅读(3862) | 评论(2) | 转发(0) |
0

上一篇:python sqlite3

下一篇:lab 1: boot loader (1)

给主人留下些什么吧!~~

chinaunix网友2010-03-18 16:27:53

谢谢你的分享。我也遇到了和你同样的一个错误,按照你的方法解决了 呵呵

朝花夕拾2009-02-16 20:57:38

最好使用gcc 3.4,高版本的gcc可能会有问题