ubuntuusers.de

C++ kompiliert nicht (ggc)

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Crofa

Avatar von Crofa

Anmeldungsdatum:
20. Oktober 2007

Beiträge: Zähle...

Hallo,
ich habe vor gut einer Woche mit C++ unter Windows angefangen. Ich war aber nicht viel weiter wie Hello World.
Da ich diverse Probleme mit Dev-C++ hatte und ich keine gute Alternative gefunden habe, wollte ich unter Linux weitermachen.
Also: erst mal gcc installieren. Ok,
Das Hello World Programme aus dem Tutorial ( http://tutorial.schornboeck.net/hello_world.htm ) testen. Und was macht die Konsole?
Gibt mir zig Fehler aus. Ich war erst mal verwirrt und hab etwas gesucht, aber nichts, dass mir weiterhilft gefunden.
Ich poste mal was die Konsole sagt:

fmathias@Mathias:~/Desktop/c$ gcc hallolinux.c
hallolinux.c:1:23: Fehler: iostream: No such file or directory
hallolinux.c:2: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »namespace«
hallolinux.c: In Funktion »main«:
hallolinux.c:6: Fehler: »cout« nicht deklariert (erste Benutzung in dieser Funktion)
hallolinux.c:6: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
hallolinux.c:6: Fehler: für jede Funktion in der er auftritt.)
hallolinux.c:7: Fehler: »cin« nicht deklariert (erste Benutzung in dieser Funktion)

Hier noch der Quelltext:

#include<iostream>
using namespace std;

int main()
{
cout<<"Hallo Welt\n";
cin.get();
}

Was ist das los? Unter Windows hat er mir das kompiliert.

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Versuch mal g++ statt gcc.
Die Kommandos cout und cin, bzw. std::cout und std::cin werden bei dir nicht erkannt, weil sie in iostream definiert sind, die nicht geladen wird. Der Aufruf mit g++ lädt diese Bibliotheken automatisch mit.

Im Übrigen würde ich, wenn man erst damit anfängt programmieren zu lernen nicht auf IDEs wie Dev-C++ zurück greifen, da meiner Erfahrung nach das Lernen im Umgang mit IDEs den Blick auf des wesentliche Verschleiern. Das lernen geht am Anfang besser mit Texteditor und Konsole. Als ganz unverbindlicher Ratschlag.

Crofa

(Themenstarter)
Avatar von Crofa

Anmeldungsdatum:
20. Oktober 2007

Beiträge: 25

Juhu geht, vielen dank!

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Kein Problem. Nochwas: Du solltest den Parameter -o <Programmname> mit angeben. Wenn alle Programme a.out heißen ist das etwas unübersichtlich. Und Quellcode-Dateien für c++ Programme sollten die Endung "cpp" haben.

Crofa

(Themenstarter)
Avatar von Crofa

Anmeldungsdatum:
20. Oktober 2007

Beiträge: 25

warum nicht .c?

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Weil .c für C Programme reserviert ist. Eigentlich sollte das keine Probleme machen, aber ausschließen kann man es nie. Es könnte zum Beispiel sein, dass ein Programm wegen der Dateiendung die falschen Bibliotheken lädt, oder ähnliches. Es ist zumindest eine potentielle Fehlerquelle und wenn man zig Quellcode-Dateien, Headers, und Objektdateien hat auch etwas unübersichtlich.

Crofa

(Themenstarter)
Avatar von Crofa

Anmeldungsdatum:
20. Oktober 2007

Beiträge: 25

Achso, ok alles klar.
Thx!

Antworten |