Я попытался скомпилировать простой мир hello на Fedora 20 с Clang, и я получаю следующий вывод:
d.cpp: 1:10: фатальная ошибка: файл "iostream" не найден
#include <iostream>
Я не знаю, как его решить.
Я попытался скомпилировать простой мир hello на Fedora 20 с Clang, и я получаю следующий вывод:
d.cpp: 1:10: фатальная ошибка: файл "iostream" не найден
#include <iostream>
Я не знаю, как его решить.
Точка 3 решила проблему для меня.
1. Если бы та же проблема, fedora 21:: clang 3.5.0:
clang++ -std=c++14 -pedantic -Wall test_01.cpp -o test_01 -v
2.
ignoring nonexistent directory "/usr/lib/gcc/i686-redhat-linux/4.9.2/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/bin/../lib/clang/3.5.0/include
/usr/include
End of search list.
test_01.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
3.
sudo yum install gcc-c++
4.
#include "..." search starts here:
#include <...> search starts here:
/bin/../lib/gcc/i686-redhat-linux/4.9.2/../../../../include/c++/4.9.2
/bin/../lib/gcc/i686-redhat-linux/4.9.2/../../../../include/c++/4.9.2/i686-redhat-linux
/bin/../lib/gcc/i686-redhat-linux/4.9.2/../../../../include/c++/4.9.2/backward
/usr/local/include
/usr/bin/../lib/clang/3.5.0/include
/usr/include
/usr/lib/gcc/i686-redhat-linux/4.9.2/include
End of search list.
Это потому, что g++ не установлен, поэтому libstdС++ отсутствует.
Вы можете установить g++, или если LLVM предпочтителен, установите LLVM libС++ и укажите, что вы хотите использовать, например:
sudo apt-get install libc++-dev
clang++ -stdlib=libc++ <rest of arguments>
Вы можете связать/usr/bin/С++ с компилятором по умолчанию:
ln -s /usr/bin/c++ /usr/bin/clang++-libc++
а затем просто скомпилировать с помощью
$ c++ <args_as_usual>
Похоже, вы должны предоставить свою сборку clang с опцией -stdlib. Один из -stdlib = libc++ или -stdlib = libstdc++, вероятно, будет работать. Есть более подробная информация по вашей теме:
Когда необходимо использовать, используйте флаг -stdlib = libstdc++?
Я столкнулся с этой проблемой, потому что у меня был filename.c
, где мне нужен filename.cpp
. Очевидно, что компилятор не сможет найти заголовки С++, когда я скажу, что пишу C!