通过macOS Terminal进行编译,致命错误:stdio.h:无此类文件或目录

时间:2018-10-13 21:53:55

标签: c macos gcc

因此正试图编译一个c文件(通过一个makefile)并得到“致命错误:stdio.h:没有这样的文件或目录”。这可以通过cygwin和一个远程linux盒(不是我的mac)正常编译(因此文件还可以)。

我已经安装了this问题中提到的mac命令行工具。当我做gcc --version我得到5.3,但是如果我做酒信息gcc我得到8.2。当我通过终端进行查找时,可以找到文件,因此不确定发生了什么。

3 个答案:

答案 0 :(得分:1)

如果您运行:

which gcc

您将获得/usr/bin/gcc,它是Apple作为macOS的一部分提供的编译器。

大概是因为您提到 homebrew ,所以您的意思是使用 homebrew 安装的编译器。因此,您需要查看/usr/local/bin并查看已安装的自制软件

ls -l /usr/local/bin/gcc*
lrwxr-xr-x  1 mark  admin  29 17 Sep 10:53 /usr/local/bin/gcc-8 -> ../Cellar/gcc/8.2.0/bin/gcc-8

因此,您的问题的答案是:

  • 首先,您需要在路径的开头添加/usr/local/bin,并且
  • 第二,您需要使用以下命令进行编译:

gcc-8 main.c -o main

答案 1 :(得分:0)

尝试运行以下内容:

xcode-select --install

请参阅: GCC fatal error: stdio.h: No such file or directory 有关详细信息。

答案 2 :(得分:0)

对于Mojave和XCODE 10,问题是在安装命令行工具时不再自动包含“ include”文件夹。相反,您需要在/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg上进行“打开” 无论如何,那对我来说解决了同样的问题。