Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt mein MinGW-C-Projekt bei der Verwendung von wWinMain den Fehler „Undefinierter Verweis auf WinMain“ aus?

Warum gibt mein MinGW-C-Projekt bei der Verwendung von wWinMain den Fehler „Undefinierter Verweis auf WinMain“ aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-05 11:25:02839Durchsuche

Why Does My MinGW C   Project Throw an

Auflösen eines undefinierten Verweises auf WinMain mithilfe von wWinMain in MinGW (C)

Beim Versuch, int main() durch int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow) in einer C-Anwendung, die MinGW als Compiler verwendet, können Benutzer auf die Fehlermeldung „Undefinierter Verweis auf WinMain“ stoßen. Dieser Fehler entsteht aufgrund von Diskrepanzen zwischen Visual C und den CRT-Startbibliotheken von MinGW, die den wWinMain-Einstiegspunkt nicht nativ unterstützen.

Lösung:

Für neuere Versionen von MinGW Durch Hinzufügen der Linker-Option -municode zur Befehlszeile, Linker-Optionen in der IDE oder im Makefile wird die Verwendung von wWinMain ermöglicht.

g++ other_options_and_arguments -municode

Für ältere Versionen von MinGW, die keine Unterstützung für -municode haben, gilt jedoch: Die Lösung besteht darin, wieder die Standard-WinMain-Funktion zu verwenden. In diesem Fall kann der Code wie folgt geändert werden:

<code class="c++">int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR pCmdLine, int nCmdShow)</code>

Hinweis:

Während Visual C den wWinMain-Einstiegspunkt unterstützt, an dem sich der Parameter „lpCmdLine“ befindet Ein „LPWSTR“ führt zu zusätzlicher Komplexität, da die Verwendung von Präprozessordefinitionen erforderlich ist, und die Arbeit damit kann umständlicher sein. Daher wird empfohlen, bei der Arbeit mit MinGW die Standard-WinMain-Funktion zu verwenden, es sei denn, die spezifischen Anforderungen des Programms erfordern die Verwendung von Unicode-Befehlszeilen.

Das obige ist der detaillierte Inhalt vonWarum gibt mein MinGW-C-Projekt bei der Verwendung von wWinMain den Fehler „Undefinierter Verweis auf WinMain“ aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn