Я пытаюсь установить 2Pong на Ubuntu для того, чтобы сделать эксперимент, но я не могу выяснить, как получить ее выполнение. Я установил все требования и следовал инструкциям в файле README, но после многих поисков я все еще не могу найти решение.
Я также пытался следовать инструкциям SDL на их веб-сайте, но без успеха.
Состояния README:
Требования:
- SDL
- SDL_Net
- SDL_Mixer
- iconv
- zlib
- libxml2
Компиляция:
- CD src
- сделать
Я установил все, но когда я пытаюсь выполниться:
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
Этот шаг является неверным:
sudo make src
Вместо этого необходимо войти в src и работать, сделайте:
cd src
make
Для получения корректных зависимостей выполните эти команды:
sudo apt install libsdl1.2-dev libsdl-net1.2-dev libsdl-mixer1.2-dev libxml2-dev
Похоже, что это настроено для компиляции как 32-разрядное приложение, таким образом, для компиляции в современных системах редактируют Make-файл и удаляют -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();