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
Благодарим Янна Рамина за его совет. Я думаю, что есть лучшее решение со ссылками, но это было легко и быстро.
Удачи!