PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iostream gibt es nicht?...



B4n4n4
02.11.2010, 23:15
Tag,

ich verwende Code::Blocks, bisher lief alles einwandfrei.
Heute bekomme ich jedoch plötzlich die Meldung das iostream nicht existiert!
GNU GCC ist als standart Compiler eingestellt (schon überprüft), das Programm an sich ohne Fehler (um das zu beweisen ein "Hello World!"-Programm & die Fehlermeldung die ich bekomme).


#include <iostream>
using namespace std;

int main()
{
cout << "Hello World!\n";
return 0;
}Fehlermeldung:

error: iostream: No such file or directory
In function 'main':
error: 'cout' undeclared (first use in this function)Ich finde einfach nicht raus wo das Problem liegt :(

MfG
B4n4n4

hyperstripe
03.11.2010, 05:19
klingt nach nem Bibliotheksfehler oder? :x

Bin da auch nicht so das Brain aber hört sich für mich so an

trixx3r
03.11.2010, 07:37
versuch es mal mit
#include <iostream.h>

big earl
03.11.2010, 07:55
<iostream> ist ein C++ Header

Ergo: g++ anstelle von gcc


g++ -o Hello\ World Project.c++

B4n4n4
04.11.2010, 10:51
@hyperstripe

Kann ich mir nicht vorstellen, wenn ich ein altes Projekt einlade und bearbeite Funktioniert alles wie gewohnt.

@trixx3r

Der aktuellste C++ Standart besagt dass das .h beim includieren der iostream Bibliothek weggelassen wird.

@big_earl

Bisher habe ich längere Zeit erfolgreich C++ programmiert ohne deinen Vorschlag praktiziert zu haben.


Bin also leider keinen Schritt weiter :(

blackberry
04.11.2010, 11:11
http://img5.imagebanana.com/img/6pcz4dxp/helloworld.png


Kann ich mir nicht vorstellen, wenn ich ein altes Projekt einlade und bearbeite Funktioniert alles wie gewohnt.
Was mich zu der Annahme bringt, dass du in deiner IDE das Standardverhalten beim Compilieren wohl auf C umgestellt haben wirst.


Der aktuellste C++ Standart besagt dass das .h beim includieren der iostream Bibliothek weggelassen wird.
Weggelassen ist schön. Es gibt einfach kein iostream.h (mehr). iostream.h enthält ein völlig anderes Klassenkonzept (vornehmlich werden nämlich auch keine wide-chars unterstützt) und stammt aus dem letzten Jahrtausend (<-- ernst gemeint!).


Bisher habe ich längere Zeit erfolgreich C++ programmiert ohne deinen Vorschlag praktiziert zu haben.
Korrekter formuliert: du wirst die längste Zeit in C++ programmiert haben, wenn du seinen Ratschlag nicht ernst nimmst.
GCC versucht die Sprache anhand der Dateiendung zu erraten und scheint sich wohl bei dir für C zu entscheiden. Ein solches Verhalten kann man auch explizit mit der -x Option erzwingen.
Bei mir scheitert GCC jedoch beim Aufruf des Linkers, der dann keine STL mehr kennt...
C++ -> g++, Basta!

Cristhecrusader
04.11.2010, 11:22
Versuch mal deinen Compiler upzudaten vllt fehlen die header oder ähnliches.
Check auch mal ob der Header denn da ist.
Und sonst, funktionierts mit g++?

blackberry
04.11.2010, 11:25
@Cristhecrusader
War das jetzt als Scherz zu verstehen, oder glaubst du wirklich, dass Code::Blocks in irgendeiner Version iostream aus dem mit Code::Blocks verteilten MinGW Paket entfernt hätte?

Cristhecrusader
04.11.2010, 11:33
Ich dachte mir eig. eher dass er unter Linux programmiert...

big earl
04.11.2010, 13:18
Dieser Teil kommt nur von mir
Ich war auch der Meinung er würde unter Linux kompilieren, da ich wegen dem GCC das Code::Blocks überlesen habe

Cristhecrusader
04.11.2010, 13:20
Dieser Teil kommt nur von mir
Ich war auch der Meinung er würde unter Linux kompilieren, da ich wegen dem GCC das Code::Blocks überlesen habe
Hmm Danke war doof von mir :D

motion
04.11.2010, 14:17
Code::Blocks sagt doch gar nichts über die Plattform aus. Entweder ich hab jetzt was überlesen oder es ist nicht klar, auf welcher Plattform wir uns befinden.


Ich dachte mir eig. eher dass er unter Linux programmiert...
Was hat Linux denn damit zu tun, dass Includedateien "plötzlich verschwinden"?

BTT: Das eigentliche Problem wurde aber schon von Blackberry gelöst, falsche IDE Einstellungen, lässt sich ohne probleme mit g++ aus der Kommandozeile compilieren.