Clang sieht keine grundlegenden Header
Habe ich versucht zu kompilieren einfache "hello world" auf Fedora 20 mit Clang, und ich bekomme die folgende Ausgabe:
d.cpp:1:10: fatal error: 'iostream' Datei nicht gefunden
#include <iostream>
Habe ich keine Idee, wie es zu lösen.
Kommentar zu dem Problem
clang++ -v your_file.cpp
, sorgen für die richtigen include-Verzeichnisse angezeigt werden. #include " ... " - Suche beginnt hier: #include <...> search starts here: /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9.1/../../../../include/c++ /usr/local/include /usr/bin/../lib/clang/3.4/include /usr/include Ende der Suche-Liste.
Posten Sie hier nicht helfen. Sie haben zu bestimmen, selbst wenn die richtigen include-Verzeichnisse gefunden werden, die durch den compiler. Wenn Sie kompiliert aus den Quellen, stellen Sie sicher, Sie haben
make install
. Und fügen Sie die Verzeichnisse auf Ihrem Weg. @remyabel:
iostream
ist ein standard-Bibliothek-header. Wenn es nicht funktionieren sollte, ohne spezielle Optionen, die compiler ist nicht korrekt installiert. -std=c++11
und möglicherweise -stdlib=libc++
auf der Linie? InformationsquelleAutor der Frage sweet_sugar | 2014-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Punkt 3 das problem bei mir gelöst.
1.
Hatte das gleiche Problem, fedora 21::clang 3.5.0:
2.
3.
4.
InformationsquelleAutor der Antwort user4823890
Dies ist, weil g++ nicht installiert ist, so libstdc++ nicht vorhanden ist.
Können Sie die Installation von g++, oder wenn LLVM ist bevorzugt, install LLVM libc++ und angeben, dass Sie wollen, es zu benutzen, etwa so:
Möchten Sie vielleicht den link /usr/bin/c++ zu den Standard-compiler:
- und kompilieren Sie dann einfach mit
InformationsquelleAutor der Antwort ArunasR
Ich lief in dieses problem, denn ich hatte eine
filename.c
wo ich es brauchte einefilename.cpp
. Offensichtlich ist der compiler nicht in der Lage sein zu finden, C++ - Header, wenn ich es sagen, ich Schreibe C!InformationsquelleAutor der Antwort Erik Williamson