Linux下的MAME模拟器,AdvanceMAME之一:编译
在Linux/Unix下编译安装AdvanceMAME的详细过程
本文档介绍了从源码编译AdvanceMAME, AdvanceMESS 和 AdvanceMENU的方法
准备源代码
如果你使用标准的源代码包(Advance包),你可以跳过这一步,直接到 配置 的章节
但是如果你使用的diff包,你需要原始的 模拟器源代码(MAME)
AdvanceMAME
为了编译AdvanceMAME,你必须下载与AdvanceMAME同版本的MAME源代码。注意:你必须下载MAME的原始代阿明,而不是其他clone版本的源代码,比如xmame
原始的 MAME可从这里下载:http://www.mame.net/
为了完成源代码,你必须解压缩原始的MAME源代码档案到一个不同的目录,复制AdvanceMAME树里的一些文件到 同一次的 'advance/'目录
在Linux和Mac OS X中,记住解压缩原始的 .zip文档用 "unzip -aa"命令 来转换这些文件 从 DOS的CR/LF格式到 Unix的CR格式。
解压缩后,你必须: 从 MAME 文档 复制 `src/' 目录 到AdvanceMAME 树
注意:只有从MAME源代码里的 'src/'目录才要,其他目录都必需删除。
最终的AdvanceMAME目录树必须是 :
advance/advance.mak
src/mame.mak
在解压缩之后,你需要应用一些补丁到到 src目录里的 原始的MAME源代码。如果不能正确地打补丁,可能你没有使用正确的MAME源代码
在 DOS 和 Windows 打补丁 :
cd src
patch -p1 < ..\advance\advmame.dif
在 Linux 和 Mac OS X 打补丁 :
cd src
patch -p1 < ../advance/advmame.dif
配置在Linux/Mac OS X/Generic Unix
运行 `./configure' 脚本
一般来说,不需要用什么额外的选项。用'./configure --help'可得到完整的配置选项列表。
默认的安装前缀是 /usr/local.你可以 在配置时用'--prefix='选项来改变它
默认的 host配置文件目录是 /usr/local/etc/。你可以用 '--sysconfdir='来改变它。注意:总是用/etc 代替 /usr/etc
配置脚本自动检测所有可用的库和优化选项。你可以用 --with-sdl-prefix在指定的位子搜索SDL库
如果你想定制 编译的CFLAGS和LDFLAGS,你可将他们放到 ./configure命令行。
高度优化Pentium4的例子:
./configure CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer" \
LDFLAGS="-s"
如果你使用"Intel C Compiler 8" ,你可以试一试:
./configure CC=icc CFLAGS="-I/usr/local/include -O3 -march=pentium4" \
LDFLAGS="-lsvml"
如果你想用 Advance自己带的zlib库和expat库,你可以用 --disable-zlib 和 --disable-expat选项
编译
运行 `make'.安装在Linux/Mac OS X/Generic Unix
运行'make install'来安装二进制程序和文档到你的系统。
二进制程序将被安装到 $prefix/bin, 程序的数据文件安装到 $prefix/share/advance, 文档被安装到 $prefix/share/doc/advance man page被安装到 $prefix/man/man1
默认的安装前缀是 $prefix is /usr/local.
在 Mac OS X 请检查目录 $prefix/bin 是否在环境变量的 PATH中. 一般而言 /usr/local/bin 是不在的。
要求
为了编译AdvanceMAME,你最少必须有128 Mbyte 内存,推荐使用 256 Mbyte.
Linux
为了在Linux下编译,你必须有下面的软件:
Linux 2.4.0 (或者更新)
GNU gcc C/C++ 3.2.3 or 3.3.4 (或者更新)
GNU make 3.79.1 (或更新)
如果存在下面的这些软件的话,它们也会被用到:
NASM 0.98.33 (or newer)
SVGALIB 1.9.14 (or newer)
SDL 1.2.4 (or newer)
S-Lang 1.4.3 (or newer)
ncurses 5.4 (or newer)
FreeType 2.1.7 (or newer)
zlib 1.1.4 (or newer)
expat 1.95.6 (or newer)
建议gcc编译器的版本是3.2.3和 3.3.4 2.96.x和 3.0.x 不行,其他版本应该可以工作。
调试
为了调试程序,建立编译前这样配置:
./configure --enable-debug --disable-svgalib \
--disable-pthread
svglib库被禁止使用,因为它的接口 with the stack backtrace on the signal handler.
pthread 库也被禁止,因为它的接口 with the debugger signals.
在X Window下,建议使用SDL library. 它允许运行调试器,程序可以使用同一个监视器和键盘.
作者:Johnny 更新日期:2005-11-12
来源:upsdn.net
浏览次数:
相关文章
相关评论 发表评论
- No Comments