首页 > 解决方案 > 在 macOS Mojave 中使用 gcc 编译

问题描述

在更新到 Mojave 之前,我正在编译 C 程序。我使用了旧版本的 gcc 7.3,它是使用此处找到的说明安装的。

然后我更新到 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.

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

标签: cmacosgcc

解决方案


我想出了如何解决它。我去了

/Library/Developer/CommandLineTools/Packages/

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


推荐阅读