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

Jul*_*les 76 c gcc stdio

我正在尝试使用GCC 4.9(实验性)在OS X 10.9上用C编译程序.出于某种原因,我在编译时遇到以下错误:

gcc: fatal error: stdio.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

然后我尝试了一个简单的Hello World程序:

#include <stdio.h>

int main(int argc, const char *argv[])
{
    printf("Hello, world!");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

再次,在运行时gcc -o ~/hello ~/hello.c,我得到了同样的错误.我正在使用一个实验版本gcc,但似乎难以置信的是会有一个在导入时产生错误的版本stdio.可能导致此问题的原因是什么,以及如何解决?

amo*_*mos 113

Mac OS X.

我也有这个问题(通过Macports编译器遇到).以前版本的Xcode允许你通过xcode/Preferences安装命令行工具,但xcode5没有在GUI中提供命令行工具选项,因此我认为它现在自动包含在内.尝试运行此命令:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

Ubuntu的

(根据这个答案)

sudo apt-get install libc6-dev
Run Code Online (Sandbox Code Playgroud)

高山Linux

(根据此评论)

apk add libc-dev
Run Code Online (Sandbox Code Playgroud)

  • 莫哈维(Mojave),它不再起作用了。 (2认同)

Sam*_*hel 38

对于Mac OS Mojave,接受的答案不再适用.运行该命令时,xcode-select --install它会告诉您使用"软件更新"来安装更新.

在此链接中是更新的方法:

打开终端然后:

cd /Library/Developer/CommandLineTools/Packages/
open macOS_SDK_headers_for_macOS_10.14.pkg
Run Code Online (Sandbox Code Playgroud)

这将打开一个安装向导.


equ*_*nt8 20

ubuntu用户:

sudo apt-get install libc6-dev

特别是gem install json -v '1.8.2'在他们的VM上安装有问题的ruby开发人员

  • 在alpine linux上我需要`apk add libc-dev` (12认同)