g++ findet /usr/include nicht
-
Hallo zusammen,
Ich habe ein Problem dass g++ beim kompilieren die standard includes nicht findet. Zum Beispiel:
#include <iostream> int main() { return 0; }
kompilieren mit
g++ -Wall main.cpp
liefert:
main.cpp:7:20: error: iostream: Datei oder Verzeichnis nicht gefunden
Benütze Debian wheezy mit gcc version 4.4.5 (Debian 4.4.5-8) und aktuellen build-essential 11.5 0 installiert.
Wo kann da das Problem liegen?
-
kater k schrieb:
#include <iostream> int main() { return 0; }
kompilieren mit
g++ -Wall main.cpp
liefert:
main.cpp:7:20: error: iostream: Datei oder Verzeichnis nicht gefunden
Zeile 7 enthält kein iostream. Aber angenommen es geht tatsächlich nicht, dann weiter mit der in dieser Situation üblichen Fehlerbehandlung:
- Hast du was an den Einstellungen vom g++ verdreht?
- Was liefert
ls /usr/include/c++/*/iostream
? - Geht es mit
aptitude reinstall build-essentials
?
Weil eigentlich sollte es out of the box funktionieren.
-
ich habe mal alles neu installiert mittels:
sudo aptitude reinstall build-essential dpkg-dev g++ gcc libc6-dev libc-dev make
das resultat bleibt aber das gleiche...
$ ls /usr/include/c++/*/iostream /usr/include/c++/4.3.5/iostream /usr/include/c++/4.4/iostream /usr/include/c++/4.3/iostream /usr/include/c++/4.5.2/iostream /usr/include/c++/4.4.5/iostream /usr/include/c++/4.5/iostream
ich kann dir nicht sagen ob ich an g++ was verdreht habe. bis anhin habe ich mit IDE gearbeitet (eclipse CDT und Solaris Studio) und da hat bisher alles immer geklappt
Wo stellt man die include pfade etc. für g++ ein?
EDIT:
gerade bemerkt:$ which g++ /usr/local/cuda/bin/g++
Das scheint der Fehler zu sein? Wie korrigiere ich das? Soll wohl auf /usr/bin/g++-4.5 zeigen oder?
-
kater k schrieb:
Wo stellt man die include pfade etc. für g++ ein?
Die uebergibst Du ihm per -I-Option. /usr/include sollte normalerweise drin sein.
gerade bemerkt:
$ which g++ /usr/local/cuda/bin/g++
Das scheint der Fehler zu sein? Wie korrigiere ich das? Soll wohl auf /usr/bin/g++-4.5 zeigen oder?
Hast Du selbst irgendein CUDA-SDK installiert? Wenn Du das entsprechende Verzeichnis aus dem Pfad ($PATH) rauswirfst, sollte alles wieder passen. Allerdings waere es vielleicht sinnvoller, sich anzusehen, wie man die CUDA-Developertools korrekt installiert und die auch mit /usr/include spielen laesst.
-
Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ja die CUDA Treiber und das CUDA SDK habe ich für ein anderes Projekt gebraucht. Hab den Pfad mal aus .profile auskommentiert und jetzt funktioniert es wieder korrekt.
Besten Dank für deine Hilfe.
-
kater k schrieb:
gerade bemerkt:
$ which g++ /usr/local/cuda/bin/g++
Das scheint der Fehler zu sein? Wie korrigiere ich das? Soll wohl auf /usr/bin/g++-4.5 zeigen oder?
Falls dich die "richtige" Lösung interessiert: sowas löst man mit
update-alternatives --config g++
.