C++ Symbol 'cout' could not be resolved

Squicky

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.422
Hallo

Ich nutze Eclipse auf einem Ubuntu 11.10 um C++ zu testen und lernen.

Leider gibt mir Eclipse den Fehler: "Symbol 'cout' could not be resolved" bei folgendem Code:

#include <iostream>

using namespace std;

int main()
{
cout << "Hello World!";
return 0;
}

Jedoch kann ich den Code ohne Probleme kompilieren, debuggen und/oder laufen lassen.

Nur Eclipse zeigt mir im Editor, dass "Cout" ein Fehler ist.

Was könnte die Ursache sein?

Danke
 
Grad getestet, bei mir gehts.
CDT hast du installiert?
Wenn ja direkt aus den Repositories oder über Eclipse selbst?
 
Das Problem hatte ich vor kurzem mit ähnlichem Setup (Ubuntu 11.04, statt 11.10).
Ich kann dir leider nicht 100% erklären wie ichs hinbekommen habe, aber im Vergleich mit anderen Projekten ist mir aufgefallen, dass die Standard-Bibliotheken zum Teil nicht oder nur unvollständig eingebunden sind. Deshalb zeigt er dir "cout" als Fehler an.
Die Lösung war schlicht die benötigte Bibliothek beziehungsweise das Verzeichnis zusätzlich im Projekt hinzuzufügen.
Jetzt zum schwierigen teil, ich kann dir leider die genauen Dateien nicht nennen, ich erinnere mich nur noch an Unterordner vom Compiler. Kann hier grad leider auch nicht auf die Sachen zugreifen, aber vielleicht kennt sich damit jemand besser aus und kann dir das erklären.
Google brachte jedenfalls nur mäßig Erfolg.

Edit:
Bei mir kam das Problem sowohl bei Installation aus den Paketen als auch beim Download über die Homepage.
 
@sacridex

Habe von eclipse.com "eclipse-cpp-indigo-SR1-incubation-linux-gtk.tar.gz" geladen und entpackt.
 
Squicky schrieb:
Habe von eclipse.com "eclipse-cpp-indigo-SR1-incubation-linux-gtk.tar.gz" geladen und entpackt.
Oh... ^^
Probier mal sicherheitshalber die Version aus den Ubuntu Repos.
Im Terminal: "sudo apt-get install eclipse eclipse-cdt" oder einfach im Software Center danach suchen.
 
Meine C-Zeiten liegen etwas zurück und auch meine Entwicklungsumgebung sah anders aus als die deine, jedoch kann ich mich entsinnen, dass "cout" eine Kurzform war, die der Interpreter nur versteht, wenn eine bestimmte Programmbibliothek mitgeladen wird (eine eigentlich sogar essenziell wichtige).

Habe meine C-Bücher gerade nicht hier, aber es könnte was in der Richtung "#include <iostream>" gewesen sein.

Also irgendein include, das definitiv oben am Programmstart stehen muss.

Versuch dein Hello World-Programm doch mal mit printf().
Wenn es so nämlich funktioniert, fehlen dir tatsächlich lediglich die richtigen Programmbibliotheken.

Cya, Mäxl
 
du musst eclipse die richtigen includepfade beibringen (in den projekteinstellungen), sonst gibts auch kein codecompletion und hast praktisch nicht mehr als ein vi mit projektbaum vor dir
 
Kompilierst du mit gcc anstatt g++? g++ linkt die automatisch dazu. Heißt das Source-File vielleicht .c anstatt .cpp? Dann nimmt eine IDE vielleicht den gcc anstatt g++.
 
7H3 N4C3R schrieb:
Kompilierst du mit gcc anstatt g++? g++ linkt die automatisch dazu. Heißt das Source-File vielleicht .c anstatt .cpp? Dann nimmt eine IDE vielleicht den gcc anstatt g++.

Aber er sagte doch, daß er ohne Probleme linken und sogar ausführen kann. Nur das Intellisense (oder wie auch immer sich das bei Eclipse schimpft) der IDE scheint irgend wie etwas verwirrt zu sein.
 
antred schrieb:
Aber er sagte doch, daß er ohne Probleme linken und sogar ausführen kann. Nur das Intellisense (oder wie auch immer sich das bei Eclipse schimpft) der IDE scheint irgend wie etwas verwirrt zu sein.

Asche auf mein Haupt :( Wer richtig lesen kann...
 

Ähnliche Themen

Zurück
Oben