gcc48(自制软件下载)找不到stdio.h

gcc48 (downloaded from homebrew) cannot find stdio.h

我正在开发 OSX Yosemite 并且我从自制软件安装了 gcc-4.8

以下程序编译失败(例如gcc-4.8 main.c):

#include <stdio.h>    

int main(void)
{
    printf("hello world");

    return 0;
}

错误:

main.c:8:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.

 $`gcc-4.8 -print-prog-name=cc1` -v

产量

ignoring nonexistent directory "/usr/local/Cellar/gcc48/4.8.4/lib/gcc/4.8/gcc/x86_64-apple-darwin14.3.0/4.8.4/../../../../../../x86_64-apple-darwin14.3.0/include"
ignoring nonexistent directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/gcc48/4.8.4/lib/gcc/4.8/gcc/x86_64-apple-darwin14.3.0/4.8.4/include
 /usr/local/include
 /usr/local/Cellar/gcc48/4.8.4/include
 /usr/local/Cellar/gcc48/4.8.4/lib/gcc/4.8/gcc/x86_64-apple-darwin14.3.0/4.8.4/include-fixed
 /System/Library/Frameworks
 /Library/Frameworks
End of search list.

$ find /usr/local/ -name "stdio.h" -print

产量

/usr/local//Cellar/gcc/5.2.0/include/c++/5.2.0/tr1/stdio.h
/usr/local//Cellar/gcc/5.2.0/lib/gcc/5/gcc/x86_64-apple-darwin14.4.0/5.2.0/include/ssp/stdio.h
/usr/local//Cellar/gcc48/4.8.4/include/c++/4.8.4/tr1/stdio.h
/usr/local//Cellar/gcc48/4.8.4/lib/gcc/4.8/gcc/x86_64-apple-darwin14.3.0/4.8.4/include/ssp/stdio.h
/usr/local//include/c++/4.8.4/tr1/stdio.h
/usr/local//lib/gcc/4.8/gcc/x86_64-apple-darwin14.3.0/4.8.4/include/ssp/stdio.h

现在我知道我可以通过 -I /path/to/directory 让编译器找到正确的头文件,但天哪,这是 stdio.h!我不想为愚蠢的小程序做这件事。我该如何修复这个缺陷?

我最终删除了 brew formula 并重新安装了它。它现在可以工作了,我仍然不清楚它何时何地被破坏。

编辑 原来这个问题已经发生了好几次了。每次我升级 OSX 或 Xcode.

时都会发生这种情况