Heim > Artikel > Backend-Entwicklung > Warum erhalte ich in MinGW C den Fehler „Undefinierter Verweis auf WinMain“?
Undefinierter Verweis auf WinMain in C MinGW
Beim Versuch, eine Windows-Anwendung mit C in MinGW zu kompilieren, kann der Fehler „undefiniert“ auftreten Verweis auf WinMain. Dieser Fehler tritt auf, wenn Sie versuchen, den wWinMain-Einstiegspunkt anstelle des Standard-WinMain-Einstiegspunkts zu verwenden.
Um dieses Problem zu beheben, unterstützen neuere Versionen von MinGW die Linkeroption -municode. Wenn Sie diese Option zu Ihren Befehlszeilen- oder Linkeroptionen in Ihrer IDE oder Ihrem Makefile hinzufügen, wird der Compiler angewiesen, alternativen Startcode zu verwenden, der wWinMain unterstützt.
g++ other_options_and_arguments -municode
Ältere Versionen von MinGW verfügen jedoch nicht über diese Option. In solchen Fällen sollten Sie den standardmäßigen WinMain-Einstiegspunkt verwenden und die Befehlszeilenargumente mit der Funktion GetCommandLine() abrufen.
In dem speziellen Fall, auf den Sie gestoßen sind, können Sie einfach wWinMain durch WinMain und PWSTR pCmdLine durch PSTR ersetzen pCmdLine. Dadurch wird der Kompilierungsfehler behoben, da das Programm den pCmdLine-Wert nicht verwendet.
Wenn Sie in Zukunft Unicode-Befehlszeilenargumente benötigen, sollten Sie die Verwendung von LPWSTR cmd_line = GetCommandLineW(); in Betracht ziehen. anstatt es als Argument für WinMain zu verwenden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MinGW C den Fehler „Undefinierter Verweis auf WinMain“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!