通过 macOS 终端编译, fatal error : stdio. h: No such file or directory

标签 c macos gcc

因此尝试编译一个 c 文件(通过 makefile)并得到“ fatal error :stdio.h:没有这样的文件或目录”。这通过 cygwin 和远程 linux box 编译得很好,而不是我的 mac(所以文件没问题)。

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

最佳答案

如果你运行:

which gcc

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

大概,既然你提到了homebrew,你的意思是使用homebrew安装的编译器。因此,您需要查看 /usr/local/bin 并查看 homebrew 安装了什么:

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

所以,你的问题的答案是:

  • 首先,您需要在 PATH 的开头包含 /usr/local/bin,并且
  • 其次,您需要使用以下命令进行编译:

gcc-8 main.c -o main

关于通过 macOS 终端编译, fatal error : stdio. h: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52797686/

相关文章:

c++ - 无法在使用 SCons 编译的 Mac OSX 中聚焦 WxWidgets 框架

C++11,GCC 4.8.1,Code::Blocks,线程,好头疼

c - gcc 提示 : variable-sized object may not be initialized

c - 无法理解运行 make 给出的错误

c - 奇怪的字符替换(对我来说)毫无意义

c - 如何在 C 中执行 shell 脚本?

c - 将 32 移植到 64b printf 相关错误

c - 如何使用整数除法 SSE 指令?

python - 如何在 Mac (Yosemite) 上找到我的 python/django 源代码

java - 信息.plist。如何指定多个可执行文件?