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
@凱爾:給出我的答案,你的編譯器驗證的,我想不出一個理由,爲什麼有人會這樣做。 –