【发布时间】:2013-11-04 00:51:14
【问题描述】:
我正在尝试使用 GCC 4.9(实验性)在 OS X 10.9 上用 C 语言编译程序。由于某种原因,我在编译时收到以下错误:
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 时会产生错误的版本。什么可能导致此问题,如何解决?
【问题讨论】:
-
您可以通过执行
echo "#include <bogus.h>" | gcc -v -x c -并检查搜索路径来查看gcc 在哪里寻找头文件。 -
非常有用的命令!
stdio.h似乎不在 GCC 的任何搜索路径中。 -
Mavericks 不再有基本的 /usr/include。您需要从 XCode OS 10.9 SDK 将其链接到位。
-
顺便说一句,
int main的第一个参数是 int 而不是 int *argc。 -
@user2615799 在
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include