Heim >Backend-Entwicklung >C++ >Warum erhalte ich die Fehlermeldung „Undefinierter Verweis auf WinMain', wenn ich wWinMain in MinGW verwende?
Abschwächung undefinierter Verweise auf WinMain beim Einsatz von wWinMain in C MinGW
Beim Versuch, eine Windows-Anwendung in C mit MinGW (GCC) zu erstellen, Benutzer stoßen möglicherweise auf einen undefinierten Verweis auf WinMain, wenn sie sich für die Verwendung von wWinMain anstelle von int main() entscheiden. Dieser Fehler tritt auf, weil die CRT-Startbibliothek von MinGW wWinMain nicht unterstützt.
Lösung:
Neuere Versionen von MinGW bieten die Linkeroption -municode, die den Wechsel zum alternativen Start ermöglicht Code, der die Verwendung von wWinMain anstelle von WinMain ermöglicht. Die Einbindung dieser Option in die Befehlszeile, Linker-Optionen in der IDE oder im Makefile sollte das Problem beheben:
g++ other_options_and_arguments -municode
Es ist jedoch zu beachten, dass ältere MinGW-Versionen diese Option nicht unterstützen. Erwägen Sie in solchen Fällen stattdessen die Verwendung von WinMain. Da das Programm im bereitgestellten Beispiel den pCmdLine-Wert nicht verwendet, sollte die Änderung von wWinMain in WinMain und von PWSTR pCmdLine in PSTR pCmdLine für die Kompilierung ausreichen.
Unicode-Befehlszeilenbehandlung:
Wenn Sie später eine Unicode-Befehlszeilenverarbeitung benötigen, verwenden Sie LPWSTR cmd_line = GetCommandLineW(); anstelle des WinMain-Arguments.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Undefinierter Verweis auf WinMain', wenn ich wWinMain in MinGW verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!