Race 的源代码可以自己编译吗?需要哪些依赖?
可以下载到源代码,但官方明确不提供编译协助,也不建议普通用户尝试。Race 是一个已停止开发的 GNU/Linux 俯视 3D 赛车游戏,作者 Harry Storbacka 在 2006 年宣布项目终止,不再发布新版本。源代码包 race-0.9.0.tar.gz 仍然可以下载,但页面上的说明相当直接:除非你清楚自己在做什么,否则不要碰源码。
官方对源码编译的态度
网站 Download 部分对源码的说明包含几条关键信息:
- 不通过邮件列表提供自行编译 Race 的协助,理由是没人有时间做这件事。
- Race 的 Makefile 不是为普通公众准备的。
- Race 的各个发行版往往只能配合特定 CVS 快照的依赖库才能编译成功。
换句话说,即使你拿到了源码,也不一定能用系统里现成的库版本编译通过。官方给出的建议是:不具备相应经验就不要尝试。
编译 Race 需要哪些依赖
源码依赖以下库:
| 依赖 | 说明 |
|---|---|
| ClanLib 0.7 CVS | 最后测试使用的是 2003 年 3 月 1 日的 CVS 快照 |
| Hermes | 图形/像素格式转换库 |
| libPNG & libJPEG | PNG、JPEG 图像解码 |
| libz | 压缩库 |
| Ogg Vorbis | 音频格式支持 |
| GL、GLU | OpenGL 及其工具库 |
| ODE v0.03 | Open Dynamics Engine,物理引擎 |
| LibXML2 | XML 解析 |
其中最容易卡住的是 ClanLib:官方明确说最后测试的是 2003 年 3 月 1 日的 CVS 快照,这意味着用后来版本的 ClanLib 很可能编译失败。ODE 也指定了 v0.03 这个较老的版本。
如果只是想玩,不必编译
对绝大多数人来说,更省事的路径是直接用官方提供的静态二进制包:
- 文件:
Race-0.9.1-0-static-linux.tar.gz(6.5 MB) - 类型:Linux 静态二进制
- 使用方式:下载后直接运行,不需要额外安装任何库
这个静态包省去了所有依赖问题,是运行 Race 的推荐方式。音乐是可选的,官方另提供由 Sludgefeast 演奏的 Race 原声带。
什么情况下才考虑编译源码
只有在以下条件同时满足时,自行编译才比较现实:
- 你能接受使用 2003 年前后的 ClanLib CVS 快照和 ODE v0.03 这类老版本库;
- 你有能力自己排查 Makefile 和链接错误,且不指望官方或邮件列表提供帮助;
- 你的目的不是玩游戏,而是研究这份代码本身。
如果只是想在 Linux 上跑起来玩,直接用静态二进制包即可,编译源码在这件事上没有收益。