2013-10-25 148 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

相关问题