Fehler beim Kompilieren von WinAPI



  • Hi. Hoffe ihr könnt mir helfen....
    Irgendwas fehlt bei den Einstellungen vom Kompiler von mir...
    Visual C++ 2005 express

    Kriege die Fehlermeldung

    error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [41]' in 'LPCWSTR' nicht möglich
            Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    

    wenn ich z.B. ne Messagebox kompiliere.

    Jetzt sagt ihr bestimmt RTFM installier dir PDSK.
    Hab ich, wie in

    http://www.germangamedev.de/index.php?site=article&id=28

    beschriebenalles gemacht....

    MFG
    chewbo



  • Das klingt stark nach einer Diskrepanz in der UNICODE-Einstellung. MessageBoxW ist eine Funktion für wchar_t, der du offenbar ein char-Array übergeben hast.

    Als Lösung kann ich dir zwei Möglichkeiten anbieten:
    a) Lösche die Definition UNICODE aus den Projekteinstellungen
    b) ändere den Typ des übergebenen Parameters von char[] auf TCHAR[]



  • Ahh danke jetzt funktionierts.

    Um zu wissen was ich gemacht hab, was ist und wo ist der Unterschied zwischen
    UNICODE Zeichensatz und Multibyte Zeichensatz?



  • UNICODE-Zeichensatz hat eine feste Breite von (meist) 2 Byte, Multibyte-Zeichen haben eine variable Breite (1 oder mehr Byte). Für genauere Informationen empfehle ich einen tieferen Blick in die MSDN.


Anmelden zum Antworten