在 Ubuntu 中安装 SDL 游戏

在 Ubuntu 中安装 SDL 游戏

我正在尝试在 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();

相关内容