Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Problem mit DEV-C++

  1. #1
    Alex020
    Gast

    Question Problem mit DEV-C++

    Hallo.
    Ich habe das Problem mit Dev-C++, dass es das einfachste Programm nicht kompilieren will. Ich weis aber leider nicht warum.

    Mein Quellcode:
    ------------------------------------------
    #include <iostream.h>
    #include <conio.h>

    void main ()

    {
    cout << "Hallo" << endl;
    }
    ------------------------------------------


    Computerausgabe:
    ------------------------------------------
    Zeile 1: In file included from C:/Programme/Dev-C++/include/c++/3.3.1/backward/iostream.h:31, from Hello.cpp

    Zeile 1: from Hello.cpp

    Zeile 2: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstrea

    Zeile 6: `main´ must return `int`

    Zeile 1; [Warning] no newline at end of file

    keine Zeile: [Build Error] ["Projekte und Datein/Hello.o"] Error 1
    ------------------------------------------

    Ich schlage mich nun seit wochen damit rum und kriege es nicht hin endlich mal ein Programm zu schreiben. Ich würde endlich mal gerne das Ding funktionieren sehen!!

    Vielen Dank für jede Hilfe!!

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2000
    Ort
    Österreich
    Beiträge
    189
    die 1. warnung kommt weil du c und c++ mischst, die 2. weil kein newline am ende der datei ist.

    kompilieren lässt es nicht nicht weil die main kein int zurück liefert. manche compiler akzeptieren auch void als rückgabe für main, aber soweit ich weiß ist es nach aktuellen c++ standard nicht erlaubt.

    so sollte es funktionieren:

    Code:
    #include <iostream>
    
    int main ()
    {
    std::cout << "Hallo" << endl;
    
    return 0;
    }

  3. #3
    Registrierter Benutzer Avatar von sixfriends
    Registriert seit
    26.03.2003
    Ort
    /home/sixfriends
    Beiträge
    285
    Ist doch offensichtlich:
    Zitat Zitat von Alex020
    Zeile 6: `main´ must return `int`
    Bedeutet die main Funktion hat nicht den Rückgabewert 'void', sondern 'int'.
    => Aus 'void main' mach 'int main' und schreib der Sauberkeit halber ans Ende der Funktion ein 'return 0;'

    sixfriends
    .
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten.

  4. #4
    Registrierter Benutzer Avatar von sixfriends
    Registriert seit
    26.03.2003
    Ort
    /home/sixfriends
    Beiträge
    285
    @Alex_K: Warst wohl ein bischen schneller....
    .
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten.

  5. #5
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Hallo.
    Ich habe das Problem mit Dev-C++, dass es das einfachste Programm nicht kompilieren will. Ich weis aber leider nicht warum.
    Es ist mir bewusst das Compiler-Fehlermeldungen häufig irreführend sind. Trotzdem würde ich solche Meldungen als ersten Hinweis auf ein Problem beachten. Speziell bei deinem Beispiel ist es so das dir der Compiler Klipp und Klar gesagt hat, welche Probleme du hast. Viel deutlicher kann es ein Mensch auch nicht mehr sagen. Ausserdem wurde mindestens eins, ich glaube sogar aller drei Punkte die der Compiler ausspuckt hier schon diskutiert. Ausserdem spuckt ein simples "c++ faq" bei Google an erster Stelle ein gutes Dokument aus welches für dich relevant ist. An dritter Stelle kommt dann sogar etwas wo ein Programm welches deinem sehr ähnlich ist ausführlich kommentiert wird. Bei Google "c++ anfängerproblem" oder "c++ newbie" eingeben findet auch ein paar Sachen die brauchbar wären.

    Etwas mehr Recherche deinerseits hätte also schon weitergeholfen. Aber ich will nicht nur den Zeigefinger erheben, sondern auch Hinweise geben:

    Zeile 1: In file included from C:/Programme/Dev-C++/include/c++/3.3.1/backward/iostream.h:31, from Hello.cpp

    Zeile 1: from Hello.cpp

    Zeile 2: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstrea
    Die C++ Standard Header tragen in der neuen Form nicht Namen die auf ".h" enden. Also statt iostream.h nur noch iostream. Genauso wie der Compiler sagt. Die alten Header mit .h sollten eigentlich nicht mehr verwendet werden und gehören nur noch um Rückwärtskompatibilität zu haben zum Standard.

    Zeile 6: `main´ must return `int`
    Genauso wie der Compiler sagt. In C und C++ muss die main-Funktion schon immer int zurückgeben.

    Zeile 1; [Warning] no newline at end of file
    Eine C++ Übersetzungseinheit muss mit einer leeren Zeile enden. Füge einfach eine Leerzeile am Ende ein.

    -

    Der conio.h Header ist übrigens Plattformspezifisch, und auf der "Plattform" welche im Namen dieses Forums ("mrunix") enthalten ist, normalerweise nicht vorhanden. Mein Tipp an dich wäre, zu versuchen ohne conio.h auszukommen.

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Hi Leute.
    Habe ein ähnliches Problem und wollte deshalb nicht einen neuen Thread eröffnen.

    Also,
    Quellcode:
    Code:
    #include <iostream.h>
    
    int main()
    {
        printf("test");
        return 0;
    }
    Fehler:
    kai@bahamut kai $ gcc shit.c -Wall -o shit
    shit.c:1:22: iostream.h: No such file or directory
    shit.c: In function `main':
    shit.c:5: warning: implicit declaration of function `printf'
    Was hab ich denn da falsch gemacht?
    C, Python, OCaml

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Die C-IO Funktionen (u.A. printf) sind im header stdio.h und nicht in iostream deklariert. Iostream ist C++-Zeugs.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Danke, .. ist das schon immer so?
    Ich erinner mich dunkel daran das schon immer so gemacht zu haben.

    Edit: Ich glaube ich habe damals printf in C++ benutzt und iostream.h eingebunden gehabt.
    Geändert von `kk (27-12-2004 um 15:30 Uhr)
    C, Python, OCaml

  9. #9
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wenn du C++ Programmieren willst musst du halt entsprechend g++ und nicht gcc zum kompilieren verwenden.

    Aber dann heissen die header <iostream> und nicht <iostream.h> - letzteres ist noch von früher und depreceated (g++ meldet das auch).

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #10
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Drücke ich mich so unverständlich aus?
    Ich möchte nicht C++ machen.
    Ich hab es eben nochmal probiert und es geht mit iostream.h in C++.
    Der Warunung kommt, da hast du recht.

    Das war halt der Grund warum ich in C ausversehen iostream.h reingenommen hab.
    C, Python, OCaml

  11. #11
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Du drückst dich nicht unverständlich aus. Nur hattest noch nicht gesagt dass du nicht C++/G++ verwenden willst.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  12. #12
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Ich dachte man sieht es an den verwenden Funktionen.
    C, Python, OCaml

  13. #13
    Alex020
    Gast
    Vielen Dank für die ausführliche Unterstützung!

    Das Blöde ist nur: Alles was ich als Quellcode eingegeben hatte, habe ich in der Schule gelernt. In der Schule funktionierts auch. Wir benutzen Borland C++.
    Funktioniert das ganze aus der Schule etwa im Dev-C++ nicht? Oder habe ich euch falsch verstanden. Ich habe eigentlich null Ahnung von Programmieren, möchte es aber trotzdem erlernen. Ist ja auch praktisch.

    Kennt ihr ein gutes e-book mit dem ich C++ lernen kann? Eines, das gleich die moderne Art von C++ nutzt, als die die ich in der Schule lerne.
    Ich weis auch nicht warum unser Lehrer uns das beibringt, was bei mir daheim nicht funktioniert, obwohl sein Studium gar nicht so lang her ist.
    Oder ist Dev-C++ ein Programm wo man sich neu einstellen muss?

    mfg Alex

  14. #14
    Registrierter Benutzer
    Registriert seit
    20.11.2004
    Beiträge
    122
    Borland benutzt halt irgendwelche zusätzlichen Header, die nicht im C++ Standard sind. Die sind in Dev-C++ nicht enthalten, deswegen funktioniert es nicht. Du kannst aber auch in Borland Standard C++ programmieren. Natürlich nur so weit, wie der Lehrer das vorgibt.
    Ich z.B. musste void main(void) schreiben, auch Quatsch und kein Standard. Aber was soll's...

    Zu C++ Büchern:
    Es gibt eigentlich genug Seiten über C++.
    Hier mal eine kleine Linkliste: http://www.robsite.de/tutorials.php?tut=c
    C, Python, OCaml

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •