Heim > Backend-Entwicklung > C++ > Warum gibt MinGW bei der Verwendung von wWinMain in C den Fehler „Undefinierter Verweis auf WinMain' aus?

Warum gibt MinGW bei der Verwendung von wWinMain in C den Fehler „Undefinierter Verweis auf WinMain' aus?

Linda Hamilton
Freigeben: 2024-11-05 11:23:02
Original
317 Leute haben es durchsucht

Why does MinGW throw an

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

Beim Versuch, wWinMain zu verwenden (HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine , int nCmdShow) als Programmeinstiegspunkt in C unter MinGW kann ein „undefinierter Verweis auf WinMain“-Fehler auftreten.

Ursache:

MinGW, insbesondere ältere Versionen , unterstützt den wWinMain-Einstiegspunkt nicht nativ, der ein Befehlszeilenargument mit Breitzeichen (WCHAR) erwartet.

Lösung:

Es gibt zwei mögliche Lösungen:

1. Verwenden Sie das Flag -municode:

Neuere Versionen von MinGW unterstützen das Linker-Flag -municode, das zu einem alternativen Startcode wechselt, der die Verwendung von wWinMain ermöglicht. Fügen Sie dieses Flag zu Ihrer Befehlszeile, den Linker-Optionen in Ihrer IDE oder Ihrem Makefile hinzu:

g++ other_options_and_arguments -municode
Nach dem Login kopieren

2. Verwenden Sie den WinMain-Einstiegspunkt:

Für ältere Versionen von MinGW oder wenn Sie das Flag -municode nicht verwenden möchten, können Sie auf die Verwendung des Standard-WinMain-Einstiegspunkts zurückgreifen. Dazu müssen Sie Ihren Code wie folgt ändern:

  • WinMain in WinMain ändern
  • PWSTR pCmdLine in PSTR pCmdLine ändern

Zusätzlicher Hinweis:

Wenn Sie später in Ihrem Programm auf Unicode-Befehlszeilenargumente zugreifen müssen, verwenden Sie LPWSTR cmd_line = GetCommandLineW(); anstatt das WinMain-Argument zu verwenden.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage