因此尝试编译一个 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/