虚拟机软件bochs编译使用问题

bochs是一款具有调试功能的虚拟机软件,由C++编写,可用于调试操作系统。从ubuntu软件源中下载的很可能没有调试功能,需要先下载源码,可能比编译之后的可执行文件大的多。

编译时有很多选项,可以通过./configure -h 列出那些选项,包括调试功能,反汇编功能,联网功能,USB功能等,还包括选择图形显示库。编译时问题可能出现在图形显示这里,因为x11,sdl,wx等图形库开发包需要你额外安装,而且是有时要求是特定版本的,这常常存在软件包依赖问题。如安装libgtk-2.0-dev,依赖于某个包的旧版本,而你当前已安装那个包的较新版本。这时你可以将新版本删掉再安装旧版本。简单的方式是使用 aptitude install libgtk-2.0-dev,会帮你分析依赖,并提出解决方案,你应选择降级版本的方式。还有一个叫auto-apt的工具也可帮我们解决依赖问题。

再次make时提示找不到gtk/gtk.h ,可以在Makefile中g++的参数中添加: `pkg-config --libs gtk+-2.0 --cflags`

安装后运行时提示"bochs-bin: symbol lookup error: /usr/lib/bochs/plugins/libbx_x.so: undefined symbol: XpmCreatePixmapFromData"

简单方式为写环境变量:export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libXpm.so.4

或者安装其他图形库,可下载sdl库:bochs-sdl,在bochsrc中写display_library: sdl (查看man bochsrc可知)。

原文地址:https://www.cnblogs.com/makefile/p/4365589.html