Fehlermeldung bei Code::Blocks



  • Hallo,
    Ich hab gestern neu mit C++ angefangen und bin grade dabei mein erstes Programm mithilfe von "Code::Blocks" zu erstellen, allerdings bin ich dabei auf ein Problem gestoßen. Undzwar steht in meinem Buch, dass ich in das Quelltextfenster von Code::Blocks folgenden Text eingeben soll :

    #include <iostream>

    using namespace std;

    int main(void)
    {
    cout << "Hello World\n";
    }

    Danach wollte ich das ganze mit dem compiler übersetzen lassen, allerdings kam dort folgende Fehlermeldung auf :

    -------------- Build: default in Hello World ---------------
    Execution of 'cl.exe /nologo /ML /Gd /GX /O2 /W3 /I"C:\Program Files\Spieleprogrammierung\Visual C++ Toolkit 2003\include" /I"C:\Program Files\Spieleprogrammierung\Platform SDK\Include" /c "Hello World.cpp" /Fo".objs\Hello World.obj"' in 'C:\Program Files\Spieleprogrammierung\Entwicklung\Hello World' failed.

    Ich würd mich freuen, wenn jemand mir bei den Problem helfen könnte.
    Danke imvorraus 😉



  • Das sieht ziemlich danach aus, als würde C::B den Compiler (cl.exe) nicht aufrufen können.

    Du solltest mal die Pfade etc. überprüfen.

    Mehr dazu gibt es im Forum zu Code::Blocks.



  • Ok, danke erstmal für die schnelle Antwort! 🙂
    Hmm eigentlich habe ich genau das gemacht, was bisher in diesem Buch stand, aber ich kann es ja noch einmal alles überprüfen und ansonsten melde ich mich in dem Code::Blocks Forum.



  • Um ein paar Probleme zu vermeiden könnte es helfen Leerzeichen in Dateinamen zu vermeiden. Das ist nicht nur unübersichlich sondern kann auch eine Fehlerquelle sein, wenn irgend ein Programm das nicht richtig behandelt und es als zwei unterschiedliche Dateien interpretiert.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Du hast den MS Compiler aber schon installiert?



  • "Microsoft Visual C++ Toolkit 2003" hab ich installiert....das ist ja der Compiler.



  • Raky schrieb:

    Ok, danke erstmal für die schnelle Antwort! 🙂
    Hmm eigentlich habe ich genau das gemacht, was bisher in diesem Buch stand, aber ich kann es ja noch einmal alles überprüfen und ansonsten melde ich mich in dem Code::Blocks Forum.

    ich hoffe dieses buch hat nicht den term "in 21 tagen" im titel 😃
    im ernst, vc toolkit 2003 ist schon etwas in die tage gekommen. du könntest
    dich mal nach den neuen express 2008 editionen umschauen.
    zu deinem problem selbst: stelle sicher das das verzeichnis, in dem sich
    cl.exe befindet, in deiner PATH umgebungsvariable beinhaltet ist.



  • Unter Codeblocks sollte es reichen, das Verzeichniss in den Compileroptionen anzugeben, globale %PATH% Variablen muss man nicht setzen



  • außerdem wür ich das ganze eher so schreiben:

    #include <iostream>

    int main()
    {
    std::cout << "Hello World" << std::endl;
    }



  • Felixstary schrieb:

    außerdem wür ich das ganze eher so schreiben...

    Darüber lässt sich streiten. Wichtig ist eigentlich nur das using namespace niemals in Headern definiert wird (und ich würde innerhalb der Funktion einrücken, was mit der Verwendung von Codetags auch im Forum funktioniert).

    cu André



  • Hm, ich will ja nichts sagen, aber wenn da

    int main(void)
    

    steht, sollte dann da nicht am Ende der Funktion

    return 0;
    

    stehen? (Auch wenn das vielleicht nicht direkt etwas mit dem konkreten Problem zu tun hat.)

    mfg



  • Bloops schrieb:

    Hm, ich will ja nichts sagen, aber wenn da

    int main(void)
    

    steht, sollte dann da nicht am Ende der Funktion

    return 0;
    

    stehen? (Auch wenn das vielleicht nicht direkt etwas mit dem konkreten Problem zu tun hat.)

    mfg

    Nein bei "int main" wird implizit "return 0;" aufgerufen (ein Sonderfall in C++), man kann also damit arbeiten muss es aber nicht.

    Aber dein erster Satz lässt darauf deuten das es noch eine andere Form der main Funktion mit anderer Rückgabe als int gibt. Dies ist nicht so. main liefert immer einen int zurück (Auch wenn void main in einigen alten Tutorials steht und von vielen Compilern akzeptiert wird ist es schlicht und ergreifend falsch).

    cu André



  • asc schrieb:

    bei "int main" wird implizit "return 0;" aufgerufen (ein Sonderfall in C++)

    Ach was? Wieder etwas dazugelernt! 💡 Ist das bei allen C++-Compilern so?

    asc schrieb:

    Aber dein erster Satz lässt darauf deuten das es noch eine andere Form der main Funktion mit anderer Rückgabe als int gibt. Dies ist nicht so...

    Ich weiß, ich weiß. Mein Satz sollte nicht darauf hindeuten. 🙂


Anmelden zum Antworten