Unistd.h файл не найден, Clang ++ и OS X

В настоящее время я борюсь с clang ++, и после долгого поиска в Интернете я решил задать свой вопрос. Я на OS X и использую clang ++ через Emacs (он используется flycheck для выделения ошибок, между прочим). У меня есть очень простой файл, который начинается с:

#include <iostream>

И линия подчеркнута красным. Когда я проверяю журналы лжи, вот что у меня есть:

In file included from ./point.hpp:4:
In file included from /usr/local/Cellar/llvm/3.6.2/bin/../include/c++/v1/iostream:37:
/usr/local/Cellar/llvm/3.6.2/bin/../include/c++/v1/__config:23:10: fatal error: 'unistd.h' file not found
#include <unistd.h>

Итак, ошибка исходит от iostream включать и в iostream есть #include <unistd.h> что Clang ++ не любит.

Я скажу это немедленно, у меня есть Xcode И инструменты командной строки. Так что мой unistd.h должен быть там. Мой код также компилируется (через g ++), так что все в порядке. Это просто clang ++, который потерян.

Что-то, что я замечаю, это то, что он собирается в мою папку llvm (которую я установил с помощью homebrew), чтобы получить iostreamЭто не кажется правильным. Он должен получить iostream в моей системе, верно? Так /usr/local/include/c++/iostream, Может ли это быть проблемой? Если так, как я могу сказать это, чтобы получить право iostream ?

И если это не проблема, как я могу решить мой unistd.h проблема?

Заранее спасибо !

РЕДАКТИРОВАТЬ : С clang++ -stdlib=libc++ image.cpp команда, я получаю это:

clang++ -stdlib=libc++ image.cpp
In file included from image.cpp:1:
In file included from ./image.hpp:4:
In file included from ./figure.hpp:4:
In file included from ./point.hpp:4:
In file included from /usr/local/Cellar/llvm/3.6.2/bin/../include/c++/v1/iostream:37:
/usr/local/Cellar/llvm/3.6.2/bin/../include/c++/v1/__config:23:10: fatal error: 'unistd.h' file not found
#include <unistd.h>
^
1 error generated.`

Итак, та же проблема.

РЕДАКТИРОВАТЬ 2 : Я заметил which clang++ вернется /usr/local/bin/clang++ , поэтому я попытался специально использовать XClan Clang ++ и вот результат:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ image.cpp
In file included from image.cpp:1:
In file included from ./image.hpp:4:
In file included from ./figure.hpp:4:
In file included from ./point.hpp:4:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iostream:37:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:23:10: fatal error: 'unistd.h' file
not found
#include <unistd.h>
^
1 error generated.

То же самое касается заголовков C ++, связанных с XCode.

4

Решение

Задача ещё не решена.

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

Других решений пока нет …

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