1
我正在努力让FreeGLUT在OSX上构建,并且正在运行许多同样问题的实例。许多功能仅存在于.c文件中。extern函数原型和静态定义
下面是一个例子
extern void fghRestoreState(void);
static void fghRestoreState(void){...}
我对C有了解有限,但是编译器错误似乎是有道理的:
src/Common/freeglut_gamemode.c:252: error: static declaration of ‘fghRestoreState’ follows non-static declaration
src/Common/freeglut_gamemode.c:43: error: previous declaration of ‘fghRestoreState’ was here
我的问题是,是否有他们设置它的任何理由这条路?它会在其他平台上正确编译吗?
这是我的理解,所以我不明白为什么图书馆会首先获得该代码。 有没有任何条件,这将有道理? 据我所知,没有ifdefs或任何会导致这种情况的原因。 – Kyle
@凯尔:给出我的答案,你的编译器验证的,我想不出一个理由,为什么有人会这样做。 –