通过macOS终端编译,致命错误:stdio.h: No such file or directory

Chr*_*isS 5 c macos gcc

因此,尝试编译 ac 文件(通过 makefile)并得到“致命错误:stdio.h:没有这样的文件或目录”。这可以通过 cygwin 和远程 Linux 盒子编译得很好,但不是我的 Mac(所以文件没问题)。

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

Mar*_*ell 2

如果你运行:

which gcc
Run Code Online (Sandbox Code Playgroud)

您将得到/usr/bin/gccApple 作为 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
Run Code Online (Sandbox Code Playgroud)

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

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

gcc-8 main.c -o main