Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich einen undefinierten Verweis auf WinMain@16, wenn ich wWinMain mit Mingw verwende?

Warum erhalte ich einen undefinierten Verweis auf WinMain@16, wenn ich wWinMain mit Mingw verwende?

Barbara Streisand
Barbara StreisandOriginal
2024-11-05 10:59:02976Durchsuche

Why am I getting an Undefined Reference to WinMain@16 when using wWinMain with Mingw?

wWinMain, Unicode und Mingw

In dieser Diskussion stößt ein Entwickler auf einen Fehler bei der Verwendung der wWinMain-Funktion mit Mingw als Compiler. In diesem Leitfaden wird das Problem untersucht, Lösungen zur Behebung des Fehlers bereitgestellt und die Frage der Verwendung von Unicode beantwortet.

Problem

Der Entwickler stellt einen undefinierten Verweis auf WinMain@16 fest beim Kompilieren des Programms mit Mingw. Das Ersetzen von wWinMain durch Winmain und PWSTR durch LPSTR behebt das Problem, aber der Entwickler möchte wissen, ob es eine bessere Lösung gibt und welche Bedeutung es hat, Unicode nicht zu verwenden.

Lösung

Für ältere Versionen von Mingw kann ein Wrapper namens mingw-unicode-main verwendet werden. Es bietet Unterstützung für wmain und wWinMain beim Kompilieren von Unicode-Programmen. Die Anweisungen zur Verwendung dieses Wrappers finden Sie im GitHub-Repository des Projekts: https://github.com/coderforlife/mingw-unicode-main.

Für neuere Versionen von Mingw sollte die Option -municode verwendet werden , wie in der Mingw-Unicode-Main-Readme-Datei angegeben. Diese Option ermöglicht die Unterstützung von Unicode in Mingw-w64.

Überlegungen zu Unicode

Die Verwendung von Unicode ist nicht immer ein großes Problem. Für einfache Programme, die nur ASCII-Zeichenunterstützung benötigen, ist die Verwendung von regulärem (CHAR) oder TCHAR ausreichend. Wenn das Programm jedoch Nicht-ASCII-Zeichen oder Internationalisierung verarbeiten kann, wird die Verwendung von Unicode empfohlen.

Ressourcen

  • [mingw-unicode-main](https ://github.com/coderforlife/mingw-unicode-main/)
  • [MinGW-w64 installieren](https://sourceforge.net/projects/mingw-w64/files/Toolchains für Win32/Personal Builds/rubenvb/gcc-4.7-release/)

Das obige ist der detaillierte Inhalt vonWarum erhalte ich einen undefinierten Verweis auf WinMain@16, wenn ich wWinMain mit Mingw verwende?. 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