0

我正在从http://timewarp.sourceforge.net
编译“Star Control Timewarp” 问题是游戏需要在全局范围内声明一个变量,该变量已经被一个似乎是标准 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.* 提供的,而只是作为其自身功能的备份。省略该行似乎可以解决。
好吧,这很容易修复,但是从 utils.h 中省略 'int round(double)' 会产生大量编译错误。此外,有几种情况下,函数以形式声明

无效函数();

但似乎没有在其他地方指定。与“melee.h”的 videowindow 类的 lock()、unlock() 和 deinit() 函数一样,会产生“未定义的引用错误”。

4

0 回答 0