致命错误:limit.h:没有这样的文件或目录



在OSX上,当我使用外部提供的编译器(例如gcc或自定义clang安装)时,我无法从命令行编译简单的程序。 找不到像limits.h这样的系统标头。

错误消息示例:

fatal error: limits.h: No such file or directory

或:

fatal error: stdio.h: No such file or directory

或:

fatal error: 'stdlib.h' file not found

等等。

怎么了?

确保已安装 xcode 命令行工具:

xcode-select --install

(接受弹出对话框。

这会将系统标头安装到 gcc 等工具期望的标准位置,例如 /usr/include .

如果

这不起作用,则可能与升级到macOS 10.14 Mojave有关

有关如何解决,请参阅此处的答案:

升级到莫哈韦后无法在Mac上编译C程序

知何故,当您安装mojave时,它会删除标头 - 运行:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

相关内容

最新更新