Fehler : "error iostream: No such file or directory"

Mycroft

Mycroft

Mitglied
Thread Starter
Dabei seit
14.03.2005
Beiträge
54
Reaktionspunkte
0
Hallo,
ich habe seid kurzem angefangen mich mit C++ zu beschäftigen, daher bot sich für mich an die Übungen mit XCode zu schreiben. Nun ging es natürlich erstmal einfach los. Der Programmcode sieht aus wie folgt:

#include <iostream>
using namespace std;
int main ()
{
cout << "Hallo";
return 0;
}



XCode findet beim Compilieren 3 Fehler.

Den ersten in der ersten Zeile:
"error iostream: No such file or directory"

Den nächsten in der 2. Zeile:
"error: parse error before 'namespace'"

Den letzten in der 5. Zeile:
error: 'cout' undeclared (first use in this function)


Ich habe keine Idee woran das liegen könnte. Bisher habe ich die XCode Tools von der Snow Leopard-Installations DVD installiert dann hat es zuerst
auch super funktioniert aber dann konnte XCode plötzlich die iostream nicht mehr öffnen. Hab dann XCode über das Terminal deinstalliert und dann nochmal neu installiert. Das hat aber keinen Effekt gehabt.

Ich bin für jede Hilfe dankbar!
 
Wie rufst Du den Compiler auf? Du solltest ihn mit g++ aufrufen

EDIT: Oder mit gcc -x c++ -lstdc++ sourcefile.cpp

Alex
 
das snippet an sich funktioniert...warum Xcode dir in die suppe spuckt, kann ich dir nicht sagen.

aber für so kleine sachen würde ich eh nur nen einfachen texteditor und den compiler nehmen.
 
Ah, Xcode: Wie heisst die Datei? Hat Sie die Endung cpp ?

Alex
 
Wähle als Projekttemplate "Commmand Line Tool" und als Typ "C++".
 
  • Gefällt mir
Reaktionen: below
Danke :D,

so funktioniert es
 
Erklärung:

C ist nicht C++. Damit Dein C++ richtig gebaut wird, muss der Compiler wissen, dass Du C++ Code kompilieren willst.

Manuell machst Du das wie ich es geschrieben habe, Xcode erkennt das automatisch, wenn die Datei die richtige Endung hat.

Alex
 
Hi

ich kram den Thread mal heraus, da ich ein ähnliches Problem habe. Ich habe ein Programm geschrieben, welches ich nun auf meinem Mac compilieren möchte.

Developer Tools sind installiert, aber ich verwende zum Compilieren eine Makefile und den Befehl make.

Ich bekomm die Meldungen:


error: iostream: No such file or directory
error: string: No such file or directory
error: cstring: No such file or directory
.... usw mit jeder Libary, welche ich verwende.

Die C++ Bibliotheken liegen unter /usr/local/include/c++/4.4.0/

Ich weiß nciht ob Xcode das Progrqamm compilieren würde, da ich es z.Zt leider nciht testen kann. Ich greife mit ssh auf den Mac zu.

Hat jemand ne Ahnung wo das Problem liegen könnte?

Grüße
 
entweder gibst du mit compiler switches das include directory mit an oder du gibst halt die includes mit vollem pfad an...
 
Ich bin ziemlicher Programmier neuling. Wie macht man das? ;)
 
-I ist die switch für die include dirs...
aber wahrscheinlich darfst du dann noch ein -L für die libraries hinterher setzen...
warum wird denn der 4.4 verwendet statt dem 4.2 vom system?
 
AUf meinem System is 4.4. installiert ...denk ich zumindest

muss ich für jede Libary ein switch setzen?
 
in /usr/local
das ist von hand installiert ;)
4.4.5 ist aber der aktuellste 4.4er release...
 
ich kann mich nicht erinenrn c++ von hand installiert zu haben :-o

AHHH

also: unter /usr/local/bin ist g++ 4.2.1 installiert, kann es sein, dass hier das problem zu suchen ist, weil das mit den includes nciht passt?
 
also von alleine ist das da nicht hin gekommen ;)
 
Ja, ich hab mich geirrt. Als Compiler ist g++ 4.2.1 installiert aber unter /usr/local/include/c++ gibt nur das Verzeichnis 4.4.0. Könnte hier das Problem sein?
 
also wenn der das nicht findet, dann würde ich zuerst einmal die syntax deines source codes checken.
#include <iostream>
sollte der finden...
das in /usr/local installierte sollte kein problem darstellen, weil du ja auch den system compiler in /usr/bin aufrufst. der greift ja auch auf die /usr/include zu...
 
Der source code stimmt. Läuft auf Linux Maschinen auch wunderbar. Nur auf meinem Mac eben nicht :/
 
kannst du denn den code von post #1 compilieren?
Code:
#include <iostream>
using namespace std;
int main ()
{
cout << "Hallo";
return 0;
}
 
Nein :/

Code:
test.cpp:1:20: error: iostream: No such file or directory
test.cpp: In function 'int main()':
test.cpp:5: error: 'cout' was not declared in this scope
 
Zurück
Oben Unten