Compiler broblem mit Borland C++ 5.5.1 (Error E2209) (Error E2451)
-
Hallo,
ich bin gerade dabei C++ zu lernen, und wohlte den ersten Code (cpp) Compilerien,
dazu sohl ich über die Eingabeaufforderung (Win XP) in das Arbeitsverseichnis gehen
(cd [Ort]). Bei mir ist das F:\Programme\Borland\BCC55\, dort habe ich auch die HalloWelt.cpp gespeichert, die ich Compilieren will. Denn Text den ich in die Eingabeaufforderung eingeben sohl sieht so aus:bcc32 -ID:\Programme\Borland\BCC55\include -LD:\Programme\Borland\BCC55\lib HalloWelt.cpp
Danach bekomme ich bloss diesen Text zu sehen:
Borland C++ 5.5.1 for Win32 ...
HalloWelt.cpp:
Error E2209 HalloWelt.cpp 1: Unable to open include file ´iostream.h´
Error E2451 HalloWelt.cpp 5: Undefined symbol ´cout´ in function main()
*** 2 errors in Compile ***Was ist da Falsch?
-
Vermutlich ist er nicht fähig iostream.h zu öffnen und findet deshalb die Definition von cout nicht.
(Das Ding heisst iostream ohne .h und cout liegt im Namespace std unter C++)
-
Und wie kann ich das broblem beheben?
-
Schau nach, wo die iostream.h liegt und füg den Pfad zu dem Ordner mit einer zusätzlichen -I Option hinzu, oder für sie permanent in die config Datei ein.
-
ProgChild schrieb:
Schau nach, wo die iostream.h liegt
eher die iostream, die iostream.h ist veraltet.
@balmermax
Probier das mal aus und sag ob's geht:#include <iostream> using namespace std; int main() { cout<<"Hallo Welt\n"; return 0; }
MfG
GPC
-
GPC schrieb:
ProgChild schrieb:
Schau nach, wo die iostream.h liegt
eher die iostream, die iostream.h ist veraltet.
Nirgends steht, wie die Datei zu heißen hat, die eingebunden wird, wenn du #include <iostream> schreibst.
-
Bashar schrieb:
Nirgends steht, wie die Datei zu heißen hat, die eingebunden wird, wenn du #include <iostream> schreibst.
Nicht? Mir war, als würden Include-Dateien im Dateisystem so heissen wie in der Include-Anweisung.
-
Bashar schrieb:
GPC schrieb:
ProgChild schrieb:
Schau nach, wo die iostream.h liegt
eher die iostream, die iostream.h ist veraltet.
Nirgends steht, wie die Datei zu heißen hat, die eingebunden wird, wenn du #include <iostream> schreibst.
Na ja, meistens heißt sie iostream und verwendet den std-Namensraum
Ich gehe jetzt mal nicht davon aus, dass du nur softlinks auf die Header hast
-
GPC schrieb:
Na ja, meistens heißt sie iostream und verwendet den std-Namensraum
Wenn du ein 8.3-Dateisystem wie FAT hast, kann z.B. keine Datei "algorithm" heißen. Es muss eine Abbildung Headername -> Dateiname geben, die prinzipiell beliebig sein kann.
-
Bashar schrieb:
GPC schrieb:
Na ja, meistens heißt sie iostream und verwendet den std-Namensraum
Wenn du ein 8.3-Dateisystem wie FAT hast, kann z.B. keine Datei "algorithm" heißen. Es muss eine Abbildung Headername -> Dateiname geben, die prinzipiell beliebig sein kann.
Oh, daran hab ich gar nicht gedacht. Dann würde ja jeder Hersteller die Header nach Gusto umbennen müssen... glücklicherweise ist FAT nicht mehr das State-Of-The-Art FS und wir haben Alternativen
-
GPC schrieb:
Oh, daran hab ich gar nicht gedacht. Dann würde ja jeder Hersteller die Header nach Gusto umbennen müssen... glücklicherweise ist FAT nicht mehr das State-Of-The-Art FS und wir haben Alternativen
Der Compiler des OP ist aber auch nicht mehr ansatzweise State-of-the-art