clang ++: фатальная ошибка: файл ‘unistd.h’ не найден

Используя OS X 10.10.2, я загружаю Clang для Mac OS X v. 3.6.0, и попробуйте скомпилировать простую программу Hello World.

Я использую следующие команды:
(предполагается, что вы скачали clang в .)

cd .
./clang+llvm-3.6.0-x86_64-apple-darwin/bin/clang++ main.cpp

Результат таков:

In file included from main.cpp:1:
In file included from ./clang+llvm-3.6.0-x86_64-apple-darwin/bin/../include/c++/v1/iostream:37:
./clang+llvm-3.6.0-x86_64-apple-darwin/bin/../include/c++/v1/__config:23:10: fatal error: 'unistd.h' file not
found

что имеет смысл, так как нет файла unistd.hкак проверяется

find . -name unistd.h

который дает 0 Результаты.

Я пытался скачать Исходный код LibC ++ v. 3.6.0, но даже это не содержит unistd.h, Где я могу найти официальную / ванильную версию этого файла, а также файлы, на которые имеются ссылки и мета-ссылки?

10

Решение

Clang не включает библиотеку c или системные заголовки, вам нужно установить Xcode, если вы хотите программировать на OS X. Эта страница есть некоторые подробности, если вы не хотите устанавливать весь пакет XCode, вы можете обойтись только с помощью инструментов командной строки.

После того, как вы установили Xcode / инструменты командной строки, вы можете использовать версии clang и gcc, включенные в Xcode, или ту, которую вы скачали, хотя обычно это проще использовать MacPorts или же Homebrew если вы хотите использовать последние версии либо.

4

Другие решения

Эта ошибка исчезла после запуска xcode-select --install,

(Я только регулярно обновляю LLVM и clang HomeBrew, поэтому мои оригинальные заголовки macos должны были быть древними / не существовать, пока я не использовал вышеуказанную команду, чтобы это исправить.)

2

unistd.h не заголовок C или C ++! Это заголовок POSIX.

Вы можете установить XCode так, как он будет получен, но я, честно говоря, не знаю, будет ли он вообще совместим со средой выполнения Clang. Я не человек Mac.

Возможно, вы можете найти альтернативу; например, нет никакого способа вам нужно unistd.h составить программу «Hello world»!

0
По вопросам рекламы [email protected]