2011-11-19 65 views
2

我正在開發Minix 3上的一些東西,並且在處理io文件時,我遇到了問題。 在代碼:Minix 3 stdio.h無法識別FILE * f

#include <stdio.h> /* If I don't call any stdio funcs compiler doesnt's complain*/ 
int main() { 
    FILE * fp; /* I get the following: " * not expected " */ 
    return 0; 
} 

已經嘗試過,在我腦海中的一切,不能圖了..

/編輯/ 從我可以告訴,當我有一些東西,如果我調用與結構不相關的函數,那沒關係。它是結構嗎?

+0

這是整個代碼,你有嗎?或者還有更多? –

+0

如果你添加'int main(){return 0; }'在這些行之後,並且只嘗試編譯這個,你還會得到這個錯誤嗎? –

+0

是的,這個代碼主要是.. – ikyr9999

回答

1

我假定您已經檢查過Minix文件是否存在,它確實定義了類型FILE,並且您的包含路徑向編譯器提供了正確的-I選項以查找該文件。

根據您的環境,可能會出現環境變量INCLUDE存在並被您的編譯器識別爲提供額外的包含路徑,甚至在命令行中包含選項之前就可以識別。在這種情況下,可能會碰巧包含來自不同編譯器的stdio.h。已知Visual Studio默認提供這樣一個環境變量,並且曾經讓我咬過一次。

編輯:單獨運行預處理器可能有助於找出在任何情況下真正發生的情況。驗證FILE是在文件的預處理版本中定義的。