Einfaches Problem, für mich unlösbar



  • Hallo,

    ich habe gerade damit angefangen mich in c++ einzuarbeiten.
    Dazu verwende ich ein gutes tutorial das eigentlich alles wunderbar beschreibt. Bei der ersten kleinen Anwendung jedoch habe ich ein kleines problem:

    #include
    void main ()
    {

    cout<<"Es kommt ein Mann zum Bäcker und frägt nach 99 Brötchen."<<endl;
    cout<<"Da frägt der Bäcker: dürfen es auch 100 sein?"<<endl;
    cout<<"Nein, wer könnte denn so viele Brötchen essen?"<<endl;
    };

    das zu compilen funktioniert mit 0 Fehler und Warnungen.
    Aber sobald ich die .exe erstellen will kommt:

    --------------------Konfiguration: nix hald - Win32 Debug--------------------
    Linker-Vorgang läuft...
    LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
    Debug/nix hald.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    nix hald.exe - 2 Fehler, 0 Warnung(en)

    für mich unverstälich ist warum es ansich funktioniert aber bei der .exe fehler gibt. Auf dem Bildschirm angezeigt wird mir auch nichts 😞 was es durch "cout" ja eigentlich sollte laut tutorial...
    ich vermute mal schwer mein windows oder meine graphiktreiber mögen irgendwas nicht?!
    Da ich von C++ noch so gut wie nichts verstehe bitte ich um eine nicht zu komplexe antowort 🙂

    Ich sag einfach mal Danke im voraus frech wie ich bin 😃



  • Hallo,

    scheint ein ziemlich schlechtes Tutorial zu sein. 🙂
    Man verwendet immer int main(), das ist Standard void main() ist schlicht und ergreifend falsch und fehlerhaft (auch wenn das der COmpiler da net einsehen will).
    Zudem hast du ein Win32 Projekt aufgemacht und keine Win32 Konsole.
    Also mach ein Win32 Konsolenprojekt auf und tipp es ein...
    Aber tu den Gefallen, und nimm int main() udn inkludiere <iostream> statt <iostream.h> und schreibe dann hinter das include in die nächste zeile noch:
    using namespace std;

    ...

    oder suche dir gleich ein vernünftiges Tutorial.

    MfG MAV



  • Hallo,

    welchen Compiler verwendest Du ?

    Schau mal ob es da irgendwo Konsolenanwendung gibt wenn Du ein neues Projekt startest.

    WinMain deutet darauf hin das Du eine Win Application ausgewählt hast beim erstellen des Projektes.



  • Kompilierst du mitm MSVC auf Kommandozeile? Oder mit MSVC im Editor? Falls zweiteres, dann hast du anstatt eines Win32-Konsolenprojektes ein Win32-Projekt erstellt.
    Im ersteren Fall: Kompiliere mit link /SUBSYSTEM:console, im zweiteren Fall musst du ein neues Projekt erstellen oder es in dienem bestehenden Umstellen. Das geht (unter VC.NET) unter den Eigenschaften vom Projekt-->Linker-->System-->Subsystem auf Console stellen.

    Der Hintergrund: "normale" Windows-Programme starten nicht mit main sondern mit WinMain und anderen Parametern, bekommen dann aber auch kein Ein-/Ausgabefenster mehr. Das was du willst ist halt ein "normales" C-Programm mit Ein-/Ausgabefenster und da muss man dem linker sagen, dass man sowas will 🙂



  • Mach mal das semikolon weg bei der blockklammer



  • Danke an alle!
    klappt in der Konsolenanwendung perfekt! thx! 😃


Anmelden zum Antworten