我正在尝试在 Ubuntu 上安装 2Pong 进行实验,但我不知道如何运行它。我安装了所有必需的软件并按照 README 文件中的说明进行操作,但经过多次搜索,我仍然找不到解决方案。
我也尝试按照其网站上的 SDL 说明进行操作,但没有成功。
自述文件中指出:
要求:
- 星光大道
- SDL_网络
- SDL_Mixer
- 图标
- 库
- libxml2
编译:
- 光盘源
- 制作
我安装了所有内容,但是当我尝试执行时:
sudo make src
我得到:
make: Nothing to be done for 'src'.
文件夹中的文件为:2Pong、src(文件夹)、README 和 conf.xml。
游戏链接:
http://twopong.sourceforge.net/
编辑:实施 SurvivalMachine 的修复后,我遇到了错误:
In file included from net.cpp:1:0:
net.h:5:10: fatal error: SDL/SDL_net.h: No such file or directory
#include <SDL/SDL_net.h>
^~~~~~~~~~~~~~~
compilation terminated.
Makefile:52: recipe for target 'net.o' failed
make: *** [net.o] Error 1
答案1
这一步是错误的:
sudo make src
相反,你应该进入 src 并运行 make:
cd src
make
要获取正确的依赖关系,请运行以下命令:
sudo apt install libsdl1.2-dev libsdl-net1.2-dev libsdl-mixer1.2-dev libxml2-dev
它看起来被配置为编译为 32 位应用程序,因此要在现代系统上进行编译,请编辑 Makefile 并-march=i486 -mcpu=i686
从 CFLAGS 和 CXXFLAGS 中删除。
还有一些代码如果不修改就无法编译。打开 defs.h 并找到以下几行:
rectangle defines::UpperBound();
rectangle defines::LowerBound();
rectangle defines::RightBound();
rectangle defines::LeftBound();
删除它defines::
,它看起来是这样的:
rectangle UpperBound();
rectangle LowerBound();
rectangle RightBound();
rectangle LeftBound();