Fehlermeldungen unter Dev-C++ 4.9.9.2 (WINAPI)

  • C++

  • Mr Crown
  • 1365 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehlermeldungen unter Dev-C++ 4.9.9.2 (WINAPI)

    Ich habe ein Bisschen Erfahrung mit Konsolenanwendungen unter C++.
    Jetzt habe ich mir überlegt auf Windowsprogrammierung mit WINAPI unter C++
    umzusteigen. Also habe ich mich im Netz nach Tuts umgeschaut und auch was gefunden. Nun wollte ich munter drauf los programmieren, aber ich bekomme nur Fehlermeldungen.
    Ich benutze Dev-C++ 4.9.9.2 von Bloodshed.
    Ich starte also ein neues Projekt als "Empty Project" und wähle C++-Projekt.
    Dann gehe ich auf Projekt -> Projekt Optionen und wähle dort unter Typ
    WIN32 GUI aus. Dann öffne ich eine neue Quelldatei und versuche mein Glück.
    Ich habe z.B. aus einem Tutorial diesen kurzen Quellcode:

    Quellcode

    1. #include <windows.h>
    2. int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
    3. {
    4. MessageBox( NULL, "Inhalt", "Überschrift", MB_OK );
    5. return 0;
    6. }


    Als Fehlermeldung bekomme ich:
    too many arguments to function `int MessageBoxA(HWND__*, const CHAR*, const CHAR*)'

    Was soll ich tun ???

    Über Antworten würde ich mich sehr freuen.

    Mit freundlichen Grüßen

    Mr Crown

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mr Crown ()

  • Wie es der Compiler schon sagt:
    too many arguments to function `int MessageBoxA(HWND__*, const CHAR*, const CHAR*)'

    dt: zu viele Argumente in der Funktion MessageBox

    lass mal das letzte Argument weg
    also nur so aufrufen:
    MessageBox(NULL, "Inhalt", "Überschrift");

    kA warum der den letzten Parameter nicht kennt, kenn es auch nur so wie du es vorher geschrieben hast, aber laut der Compiler Meldung verlangt er nur ein Fenster-Handle und 2 Strings
  • Ich vermute das liegt daran das du dem Compiler "sagst" das es sich um eine WIN32 GUI applikation handelt. Es kann sein das dadurch die MFC Funktion MessageBox (CWnd::MessageBox (MFC)) verwendet wird. Wenn du kein MFC verwenden willst musst du das vermutlich in den Einstellungen irgendwo ändern können. Wo kann ich dir leider nicht sagen, ich benutze kein Dev-Cpp
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Ich habe jetzt das letzte Argument der MessageBox Funktion entfernt. Das klappt jetzt, nur ich bekomme jetzt eine Fehlermeldung die wie folgt lautet:

    [Linker error] undefined reference to `MessageBoxA@12'

    Ich habe auch keine Ahnung, wo ich meine Einstellungen von MFC auf WINAPI umstellen kann.
    Ich bitte um weitere Hilfe, an dieser Stelle aber auch schon mal Danke.

    Mit freundlichen Grüßen

    Mr Crown