2010-02-14 128 views
5

試圖編譯我的程序時,我發現了以下錯誤:調用fdopen:壞的文件描述符

calling fdopen: Bad file descriptor

我讀過這可能是與包括一個預編譯的頭一個問題我的頭文件。導致錯誤的文件包含stdio.h標題,因此我可以訪問FILE類型。如果我刪除它,錯誤消失,但是我不能使用FILE類型。有人知道我能如何解決這個問題嗎?

+4

嘗試將問題隔離到一個裸露的骨骼程序中(--i.e。,一個新的獨立文件,其中包含一個主文件,並且只有失敗的代碼)。然後更新你的問題。沒有一些代碼我們就不能提供反饋。 – 2010-02-14 19:46:47

+1

您能否發佈能夠再現您遇到的問題的最簡單的自包含代碼? – 2010-02-14 19:47:14

+0

什麼版本的gcc? – bmargulies 2010-02-14 20:12:46

回答

0

對不起,我剛纔忘了包括stdio.h頭文件。我現在覺得很愚蠢。

6

很難說沒有細節,但它確實很可能是由於過時的預編譯頭。刪除所有.gch文件並重試。

這是經常報道作爲對海灣合作委員會的錯誤,看到Bugzilla的入口here

+1

謝謝,這恰好是我的問題。 – Derrick 2011-05-21 17:52:44