ubuntuusers.de

C++ Programmieren mit Eclipse Anfängerproblem

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

Krux

Anmeldungsdatum:
7. August 2006

Beiträge: 140

Ich programmiere in Eclipse C++ Anfänger bin ich in Eclipse nicht in C++

am anfang der Datei hab ich wie immer meine #include <iostream> dabei entsteht allerdings schon dr erste Fehler, denn das findet er nicht, woran könnte das liegen? Bisher konnte ich immer in allen IDEs die Standartbibliotheken einbinden, ohne auf irgendwelche Probleme zu stoßen, allerdings bei Eclipse scheint da wohl noch was zu fehlen, was muss ich hier noch tun?

bald-kann-ich-auch-linux

Anmeldungsdatum:
12. Juli 2006

Beiträge: 48

hi, probier doch mal folgendes:

#include <iostream.h>

hab mal in meine alten .cpp dateien aus nem seminar geschaut und da haben wir das immer mit dateiendung eingetragen!

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Das glaube ich eher nicht.
Seit einigen Jahren läßt man für Standardbibliotheken die Endung weg.

Eher wird in den Preferences der Pfad zu den Headern anzugeben sein. Include-Path oder so.

Ich kenne eclipse nur vom Java-Programmieren, und welches JDK ich nutzen will muß ich auch angeben.

Krux

(Themenstarter)

Anmeldungsdatum:
7. August 2006

Beiträge: 140

ich muss auch ein Java JDK angeben, obwohl ich Damit eigentlich blos C++ lernen will, danke für die Info ich schau mal nach.

hackepeter

Avatar von hackepeter

Anmeldungsdatum:
8. Januar 2006

Beiträge: 185

Wohnort: München

Krux hat geschrieben:

ich muss auch ein Java JDK angeben, obwohl ich Damit eigentlich blos C++ lernen will, danke für die Info ich schau mal nach.

IMHO ist Eclipse auch für C++ etwas dürftig, besser wären Anjuta, KDevelop oder - einfach und gut zum lernen - geany.
Alles in den übl(ich)en Paketquellen.

Gruß HP

Krux

(Themenstarter)

Anmeldungsdatum:
7. August 2006

Beiträge: 140

Eclipse funzt bei mir nicht, der findet ganz normale #include dateien nicht wie iostream nicht

JimPanse

Anmeldungsdatum:
1. April 2005

Beiträge: 623

user unknown hat geschrieben:

Seit einigen Jahren läßt man für Standardbibliotheken die Endung weg.

Das hat nichts mit einigen Jahren zu tun, sondern ist bei den ganzen Standard C++ Headern immer schon so gewesen.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Nicht daß ich wüßte.
Weder 1994, als ich mit Borland C++ rumwerkelte, noch 1998, als ich mit C++ unter Gnu-Linux arbeitete.
Bei Stroustroup, 2. Auflage sind auch alle Beispiele so geschrieben, daß #include <X.h> und nicht #include <X> geschrieben wird.
Aber ich lasse mir gerne das Gegenteil beweisen.

Krux

(Themenstarter)

Anmeldungsdatum:
7. August 2006

Beiträge: 140

die Antwort zu eurer uneinigkeit ob mit .h oder ohne:
in C verwendet man generell die header mit .h, hier werden die Funktionen global deklariert.
in c++ verwendet man die Header ohne .h, hier werden alle Funktionen in Namensbereich std deklariert.
Da in den C header dateien alle Funktionen global deklariert wurden kann es in großen Projekten zu namenskomplikationen kommen, desshalb existiert für jedem c header ein dazugehöriger c++ header in den der eizige Unterschied ist, dass die Funktionen im Namensbereich std deklariert wurden, und natürlich der Name (statt math.h heißt es in c++ cmath). es Gibt auch Entwicklungsumgebungen, in denen iostream.h existiert , hier ist dann cout nicht im Namensbereich std sondern Global daklariert.

Ich hoffe ich hab ein wenig Licht ins Dunkle gebracht.

steht brigens alles im Buch "C++ Lernen und professionell anwenden" von Ulla und Peter Prinz.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

Die Uneinigkeit bezieht sich darauf, ob das immer schon so war, und dazu haben Ulla und Peter wenig beigetragen. ☺

JimPanse

Anmeldungsdatum:
1. April 2005

Beiträge: 623

user unknown hat geschrieben:

Nicht daß ich wüßte.
Weder 1994, als ich mit Borland C++ rumwerkelte, noch 1998, als ich mit C++ unter Gnu-Linux arbeitete.
Bei Stroustroup, 2. Auflage sind auch alle Beispiele so geschrieben, daß #include <X.h> und nicht #include <X> geschrieben wird.
Aber ich lasse mir gerne das Gegenteil beweisen.

Ähh war ich so unverständlich?

Das hat nichts mit einigen Jahren zu tun, sondern ist bei den ganzen Standard C++ Headern immer schon so gewesen.

Ich rede von den Headern zu den Standard Bibliotheken von C++ (also zum Beispiel "vektor"). Diese werden ohne das .h geschrieben. Und das steht auch genau so im Stroustroup drin

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

JimPanse hat geschrieben:

Das hat nichts mit einigen Jahren zu tun, sondern ist bei den ganzen Standard C++ Headern immer schon so gewesen.

Ich rede von den Headern zu den Standard Bibliotheken von C++ (also zum Beispiel "vektor"). Diese werden ohne das .h geschrieben. Und das steht auch genau so im Stroustroup drin

2. überarbeitete Auflage, 1992:
Abschnitt 4.3, Headerdateien, S. 125:

Dateien aus dem Standard-Include-Verzeichnis werden in der #include-Direktive mit spitzen Klammern < > angegeben. Beispiel:

#include <stream.h> // aus dem Standard-Include-Verzeichnis
#include "myheader.h" // aus dem aktuellen Verzeichnis

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4695

Wohnort: Berlin

user unknown hat geschrieben:

2. überarbeitete Auflage, 1992:
Abschnitt 4.3, Headerdateien, S. 125:

Dateien aus dem Standard-Include-Verzeichnis werden in der #include-Direktive mit spitzen Klammern < > angegeben. Beispiel:

#include <stream.h> // aus dem Standard-Include-Verzeichnis
#include "myheader.h" // aus dem aktuellen Verzeichnis

In der dritten überarbeiteten Auflage sind die Beispiele alle ohne das ".h" angegeben. Und im Anhang steht unter dem Kapitel Kompatibilität auch ein Abschnitt dazu, dass Standard-C++ die Header ohne ".h" benennt, es aber meistens aus Kompatibilitätsgründen noch zusätzlich welche mit ".h" gibt. Beim GCC stehen diese Header in /usr/include/c++/4.0.3/backward/ und sollten eine Warnung ausgeben wenn man sie benutzt.

Krux

(Themenstarter)

Anmeldungsdatum:
7. August 2006

Beiträge: 140

ist ja alles schön und gut, aber das ganze hilft mir wenig bei meinem Problem mit Eclipse, ich hab nämlich keine ahnung wie ich dem das richtig beibringen kann.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17625

Wohnort: Berlin

@Krux: Hast Du denn eine Einstellung wie 'include-Path gefunden?

@Marc: Genau das habe ich von Anfang an behauptet - daß es seit einigen Jahren ...

Antworten |