在macOS Mojave中使用gcc进行编译

时间:2018-10-24 16:54:43

标签: c macos gcc

在更新到Mojave之前,我正在编译C程序。我使用的是gcc 7.3的旧版本,该版本是按照here的说明安装的。

然后我更新到Mojave并尝试编译gcc main.c之后的简单程序:

#include <stdio.h>
int main(){
    printf("Hello World\n");
    return 0;}

这会导致以下错误:

/usr/local/lib/gcc/x86_64-apple-darwin17.5.0/7.3.0/include-fixed/stdio.h:78:10: fatal error: _stdio.h: No such file or directory
 #include <_stdio.h>
      ^~~~~~~~~~
compilation terminated.

如果删除了include,它将使用printf的隐式声明警告进行编译,但仍将编译并正常运行,并打印Hello World。有谁知道这个问题以及我该如何解决?

1 个答案:

答案 0 :(得分:3)

我想出了解决方法。我去了

/Library/Developer/CommandLineTools/Packages/

然后打开并安装macOS_SDK_headers_for_macOS_10.14.pkg。