C - GCC48(从自制软件下载)找不到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! 我不想为愚蠢的小程序这样做。 如何修复此缺陷?

我最终删除了酿造配方并重新安装了它。 它现在可以工作了,我仍然不清楚它在哪里/何时损坏。

编辑事实证明,这个问题已经为我发生了好几次。 每次我升级OSX或Xcode时都会发生这种情况。

最新更新