GCC фатальная ошибка: stdio.h: нет такого файла или каталога

Я пытаюсь скомпилировать программу в C на OS X 10.9 с GCC 4.9 (экспериментальная). По какой-то причине во время компиляции я получаю следующую ошибку:

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

Затем я попробовал простую программу Hello World:

#include <stdio.h>

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

Опять же, при запуске gcc -o ~/hello ~/hello.c, я получил ту же ошибку. Я использую экспериментальную версию gcc, но кажется неправдоподобным, что будет выпущен релиз, который генерирует ошибки при импорте stdio. Что может быть причиной этой проблемы и как ее можно устранить?

Ответ 1

Mac OS X

У меня тоже была эта проблема (встречалась через компиляторы Macports). Предыдущие версии Xcode позволяли вам устанавливать инструменты командной строки через xcode/Preferences, но xcode5 не предоставляет опцию инструментов командной строки в графическом интерфейсе, поэтому я предположил, что она теперь автоматически включена. Попробуйте запустить эту команду:

xcode-select --install

Ubuntu

(согласно этому ответу)

sudo apt-get install libc6-dev

Alpine Linux

(согласно этому комментарию)

apk add libc-dev

Ответ 2

Mac OS Mojave

Принятый ответ больше не работает. При запуске команды xcode-select --install вам предлагается использовать "Обновление программного обеспечения" для установки обновлений.

В этой ссылке есть обновленный метод:

Откройте терминал, а затем:

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

Откроется мастер установки.

Ответ 3

Пользователи ubuntu:

sudo apt-get install libc6-dev

особенно рубиновые разработчики, у которых есть проблема установки gem install json -v '1.8.2' на их виртуальных машинах

Ответ 4

У меня была та же проблема. Я установил "XCode: инструменты для разработки" из магазина приложений, и он исправил проблему для меня.

Я думаю, эта ссылка поможет: https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1

Благодарим Янна Рамина за его совет. Я думаю, что есть лучшее решение со ссылками, но это было легко и быстро.

Удачи!