Глобальная переменная области действия и неоднозначность в «Star Control Timewarp»

Я собираю «Star Control Timewarp» из http://timewarp.sourceforge.net

Проблема в том, что игра требует объявления переменной в глобальной области видимости, которая уже заявлена ​​файлом, который выглядит как стандартная математическая библиотека linux.



Я взял на себя смелость или указал несколько других ошибок, которые я нашел здесь.

Объем этого вопроса касается проблемы global_scope / new_declaration / ambiguation. Но я добавил немного больше для тех, кто может знать игру или что с этим делать.

.../timewarp/src/twgui/utils.h: At global scope:
.../timewarp/src/twgui/utils.h:166: error: new declaration ‘int round(double)’
/usr/include/bits/mathcalls.h:310: error: ambiguates old declaration ‘double round(double)’

Timewarp также требует, чтобы несколько классов исправляли свои объявления функций при использовании формы

class something
{
something::function()
};

вместо

class something
{
something::function()
};

Timewarp также запрашивает, что, очевидно, не предоставляется Allegro 4.2. *, Но только в качестве резервной копии его собственных функций. Пропуск строки, кажется, чтобы решить.

Что ж, это достаточно легко исправить, но пропуск «int round (double)» в utils.h приводит к множеству ошибок компиляции.
Кроме того, есть несколько случаев, когда функции объявляются в форме

функция void ();

Но, казалось бы, не указано в другом месте. Как и в функциях lock (), unlock () и deinit () класса «melee.h» класса VideoWindow, получая «неопределенную ошибку ссылки.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …