2015-12-13 3 views
-3

Ранее я поставил related question.Clang не может найти iostream. Что мне делать?

я следующая программа извлечена из большого проекта в моем Mac OS

#include <iostream> 
int main(){ 
    std::cout<<"hello"<<std::endl; 
    return 0; 
} 

компиляцией с Clang выдает следующее сообщение об ошибке:

$ clang test.cpp 
test.cpp:1:10: fatal error: 'iostream' file not found 
#include <iostream> 
     ^
1 error generated. 

Для информации,

A) Я уже установил инструменты командной строки xcode, используя xcodeselect --install. Но, похоже, iostream не находит путь поиска по умолчанию для clang.

B) Использование g ++ вместо clang компилирует программу. Но в моей проблеме мне не разрешено использовать другой компилятор, чем clang, или изменить исходную программу.

C) Я вижу способы обхода, например, путем настройки пути поиска в .bashrc или с помощью некоторой символической ссылки и т. Д. Но я не хочу их использовать, потому что кажется, что у меня проблема с установкой с моим Clang и настройка пути помогает избежать одной из этих проблем.

+0

@Baum, 101010: Пожалуйста, найдите время, чтобы прочитать вопросы других людей , – zell

ответ

1

clang и clang++ делать разные вещи. Если вы хотите скомпилировать C++ код, вам нужно использовать clang++

В качестве альтернативы вы можете вызвать компилятор Си ++ непосредственно предоставляя имя языка явно:

clang -x=c++ 
+0

Спасибо. Я попытался с clang ++, указав то же сообщение об ошибке. Кроме того, программа является сторонним проектом, компилятор которого исправлен, и мне не разрешено переключаться на другой компилятор, как я упоминал в (B) моего вопроса. – zell

+0

clang -x = C++ test.cpp дает «clang-3.7: ошибка: язык не распознан: '= C++». Это нормально? – zell

+0

@zell. Да, это нормально. Потеряйте '='; '-x C++' – rici

Смежные вопросы