Anfänger erstellt 1.Programm mit FEHLER!!!



  • Original erstellt von kingruedi:
    **iostream.h ist falsch! Laut C++98 Standard ist iostream.h veraltet!

    @WinnieCE
    wenn das 3 Leute sagen die hier viel Posten unter denen auch Hume Sikkins, der C++ Gott des Forums, dann kannst du dem ruhig glauben**

    Gott? Hmm...

    MfG SideWinder



  • Hmm... ob das jetzt nun 3, 1 oder 10000 Leute sagen! Das löst alles nicht mein Problem!

    Nochmal:
    Wenn ich unter LINUX RedHat7.2 mit dem KDevelop2.0 folgenden Programmcode eingebe:

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

    beim kompilieren ist alles ok! Also erfolgreich abgeschlossen.
    Aber wenn ich auf 'neu erstellen' drücke dann sagt er, dass in den Objekt-Dateien 'main.o' und 'test.o' main schon definiert wurde.
    Als erstes wurde main in test.o definiert!
    Am Ende kann ich das Programm also nicht starten!

    Danke nochmal für Antworten!



  • Ich kenn mich mit KDevelop zwar nicht aus, aber ich weiß das es sich hierbei um ein framework für oberflächenprogrammierung handelt. Als solches stellt es einen kompletten rahmen für das erstellen von programmen zur verfügung. Ich nehme an, das dabei auch die main-funktion mit definiert wird. Das gleiche verhalten zeigt die mfc übrigens auch. Frameworks für oberflächen stellen häufig eine eigene main zur verfügung, weil viel arbeiten zu erledigen sind, bevor überhaupt das eigentliche programm startet.

    Wie gesagt - ich kenn mich mit KDevelop nicht aus - da sollte vieleicht ein spezialist in diesem bereich mal drauf schauen.

    Für eine einfache konsolenanwendung wie hier ist KDevelop übrigens garnicht notwendig.



  • ich frag mich gerade wieso du 2 object files bei deinem project krigst obwohl das nur ein hello world ist? hast du etwa 2 cpp dateien im project die jeweils die main implementieren? 2. erhälst du scheindsich nur die .o fils keine binary. keine gelinkte ausfürbare datei. was verständlich ist, da sich ein programm mit 2 obj dateien die jeweils die main enthalten nicht zu einem ausfürhbaren programm linken lassen ( was den fehler main doppelt definert erklähren würde )

    forschlag meinerseits versuch mal dein programm mitels gcc direckt selber zu übersetzen. du soltest dabei dann die .o datei und die datei "a" bekommen die du dann ausführen kanst.

    gruss termite



  • Stimmt!
    Da war eine main.cpp und eine test.cpp im Verzeichnis.
    Woher kommt denn die main.cpp? Ich habe die noch nie erstellt!



  • Jetzt habe ich die main.cpp und die main.o gelöscht! Jetzt will KDevelop gar nichts mehr machen!
    MIST!



  • kann sein das kdevelop in der main.cpp die main haben will. also deine test nach main umgenenen. vieleicht gehts dann. solche programme haben meist ihre tücken. kann mich an die kaffemaschine von symantech erinnern. wenn die mainklasse nicht den gleichen nahmen hatte wie das projeckt und die datei. gings net. suns java compiler hats net interesiert. nur auf solche sachen mal kommen.

    vorschalg leg mal ein neues project an. und kopier dir die main einfach mal rein. vieleicht gehts dann. scheind ja nur noch ein problem mit der ide zu sein.

    gruss termite



  • Hallo,
    ich verschiebe die Frage jetzt mal nach Andere Compiler. Wenn die IDE muckt, hat das ja schließlich nichts mehr mit Standard-C++ zu tun.



  • Habe jetzt test.cpp mal zu main.cpp umbenannt -> Problem besteht weiterhin.

    Wie programmiert man unter dem KDeveloper?
    Ich will doch nur ein einfaches Programm haben und zwar unter LINUX!
    man man man... 😕



  • Erstell ein neues Konsolenprojekt und benutze die VORHANDENE main.cpp, diese kannst du dann nach belieben umschreiben !


Anmelden zum Antworten