Я пытаюсь скомпилировать программу на 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
. Что может быть причиной этой проблемы и как ее исправить?
echo "#include <bogus.h>" | gcc -v -x c -
и изучив пути поиска.stdio.h
он попал ни в один из путей поиска GCC.int main
первый параметр - это int, а не int * argc.sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
Ответы:
Mac OS X
У меня тоже была эта проблема (с компиляторами Macports). Предыдущие версии Xcode позволяли вам устанавливать инструменты командной строки через xcode / Preferences, но xcode5 не предоставляет параметр инструментов командной строки в графическом интерфейсе, поэтому я предположил, что теперь он был автоматически включен. Попробуйте выполнить эту команду:
Ubuntu
(согласно этому ответу )
Alpine Linux
(согласно этому комментарию )
источник
sudo xcode-select -s /Applications/Xcode.app
. Когда вы закончите, вернитесь к использованиюsudo xcode-select -s /Applications/Xcode6-Beta5.app
.Mac OS Мохаве
Принятый ответ больше не работает. При запуске команды
xcode-select --install
он сообщает вам использовать «Обновление программного обеспечения» для установки обновлений.По этой ссылке обновленный метод:
Откройте Терминал, а затем:
cd /Library/Developer/CommandLineTools/Packages/ open macOS_SDK_headers_for_macOS_10.14.pkg
Откроется мастер установки.
Обновление 12/2019
После обновления до Mojave 10.15.1 кажется, что использование
xcode-select --install
работает по назначению.источник
Пользователи ubuntu:
sudo apt-get install libc6-dev
специально разработчики Ruby, у которых проблемы с установкой
gem install json -v '1.8.2'
на свои виртуальные машиныисточник
apk add libc-dev
У меня такая же проблема. Я установил «XCode: инструменты разработки» из магазина приложений, и проблема была решена.
Думаю, поможет эта ссылка: https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1
Благодарим Янна Рамина за его совет. Я думаю, что есть лучшее решение со ссылками, но это было легко и быстро.
Удачи!
источник
Я знаю, что мой случай встречается редко, но я все равно добавлю его сюда для тех, кто позже устранит неполадки. У меня был целевой модуль ядра Linux в моем Makefile, и я попытался скомпилировать свою программу пользовательского пространства вместе с модулем ядра, у которого нет stdio. Выделение его в отдельную цель решило проблему.
источник