我正在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时,都会发生这种情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句