Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 致命错误:limits.h:没有这样的文件或目录_Xcode_Macos_Gcc_Clang - Fatal编程技术网

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

Xcode 致命错误:limits.h:没有这样的文件或目录,xcode,macos,gcc,clang,Xcode,Macos,Gcc,Clang,在OSX上,当我使用外部提供的编译器(例如gcc或自定义的clang安装)时,我无法从命令行编译简单的程序。找不到像limits.h这样的系统标题 错误消息示例: fatal error: limits.h: No such file or directory 或: 或: 等等 出什么问题了?请确保已安装xcode命令行工具: xcode-select --install (接受弹出对话框。) 这将把系统头安装到gcc等工具所期望的标准位置,例如/usr/include如果这不起作用,可能与

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

错误消息示例:

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

或:

等等


出什么问题了?

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

xcode-select --install
(接受弹出对话框。)


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

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

有关如何解决以下问题,请参见此处的答案:


当您安装mojave时,它会以某种方式删除头文件-运行:

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

gcc应该安装自己的一组头文件,它知道如何查找这些头文件。使用来自一个编译器(CLAN,XCKED)的头文件和另一个编译器(GCC,单独安装),很可能会引起麻烦。GCC安装它自己的C++头,但是对于C标题,故事是不同的。它试图使用系统自己的C头。在一些(好的,很多)系统上,C-Header不符合ANSI标准,因此gcc将提供自己的“固定”头来替换一些“损坏”的系统头。但对于那些不需要“修复”的标题,将不会有它的gcc副本。仅使用原始系统标题。有关详细信息,请参阅从源代码编译gcc时gcc“fix includes”步骤的文档。我在尝试手动安装某些软件包时发现此错误。我使用conda作为环境管理器运行python 2.7,并在mac os x 10.12.3中安装了gcc 5.0。据我记忆所及,我的gcc和命令行工具已经完美安装并运行。无论如何,重新安装它们,解决问题。
xcode-select --install
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg