2013-10-25 178 views
39

我想用GCC 4.9(實驗)在OS X 10.9上編譯C程序。出於某種原因,我得到了下面的錯誤在編譯時:GCC致命錯誤:stdio.h:沒有這樣的文件或目錄

gcc: fatal error: stdio.h: No such file or directory 

然後我嘗試了簡單的Hello World程序:

#include <stdio.h> 

int main(int argc, const char *argv[]) 
{ 
    printf("Hello, world!"); 
    return 0; 
} 

再次,一旦運行gcc -o ~/hello ~/hello.c,我得到了同樣的錯誤。我使用的是gcc的實驗版本,但似乎難以置信的是,在導入stdio時會發生錯誤。什麼可能導致這個問題,以及如何解決?

+5

你能看到的gcc做找頭文件'echo「#include 」| gcc -v -x c -'並檢查搜索路徑。 –

+1

非常有用的命令!它看起來不像'stdio.h'在GCC的任何搜索路徑中。 – Jules

+2

小牛隊不再擁有基地/ usr/include。您需要從XCode OS 10.9 SDK將它鏈接到位。 –

回答

68

我也有這個問題(通過Macports編譯器遇到)。以前的Xcode版本可以讓你通過xcode/Preferences安裝命令行工具,但是xcode5在GUI中沒有提供命令行工具選項,所以我認爲它現在已經自動包含了。嘗試運行此命令:

xcode-select --install 
+0

如果您使用的是Xcode 6 beta 5,則此命令可能會失敗。在這種情況下,您需要執行'sudo xcode-select -s/Applications/Xcode.app'。完成後,使用'sudo xcode-select -s/Applications/Xcode6-Beta5.app'切換回去。 –

+0

這適用於10.10優勝美地。非常感謝你! – DmitryKanunnikoff

+0

哇。 2017年仍然與Xcode 8.0和Sierra合作。 – user124384

3

我有同樣的問題。我從應用商店安裝了「XCode:開發工具」,它爲我解決了這個問題。

我認爲這個鏈接將幫助: https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1

感謝晏拉敏他的意見。我認爲有一個更好的解決方案與鏈接,但這很容易和快速。

祝你好運!

+0

你指的是正常的Xcode嗎?還是有一些叫做「XCode:開發工具」的特殊版本?因爲我只能在App Store中看到正常的Xcode。當然,從回答這個問題發佈到今後4年。 – user124384

15

Ubuntu用戶:

sudo apt-get install libc6-dev

專門的Ruby開發人員在他們的虛擬機有問題,安裝gem install json -v '1.8.2'

+1

有趣。謝謝。這個lib還解決了一些其他問題。最近,我遇到了它嘗試運行petabyet.com(使用gcc)的基準。 – dhaupin

+8

在高山linux上,我需要'apk添加libc-dev' – shadi

相關問題