Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une référence non définie à WinMain@16 lorsque j'utilise wWinMain avec Mingw ?

Pourquoi est-ce que je reçois une référence non définie à WinMain@16 lorsque j'utilise wWinMain avec Mingw ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-05 10:59:021032parcourir

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

wWinMain, Unicode et Mingw

Dans cette discussion, un développeur rencontre une erreur en utilisant la fonction wWinMain avec Mingw comme compilateur. Ce guide explorera le problème et fournira des solutions pour résoudre l'erreur et abordera la question de l'utilisation d'Unicode.

Problème

Le développeur rencontre une référence non définie à WinMain@16 lors de la compilation du programme à l'aide de Mingw. Remplacer wWinMain par Winmain et PWSTR par LPSTR résout le problème, mais le développeur veut savoir s'il existe une meilleure solution et l'importance de ne pas utiliser Unicode.

Solution

Pour les anciennes versions de Mingw, un wrapper appelé mingw-unicode-main peut être utilisé. Il prend en charge wmain et wWinMain lors de la compilation de programmes Unicode. Les instructions d'utilisation de ce wrapper peuvent être trouvées dans le référentiel GitHub du projet : https://github.com/coderforlife/mingw-unicode-main.

Pour les versions plus récentes de Mingw, l'option -municode doit être utilisée , comme indiqué dans le fichier readme de mingw-unicode-main. Cette option active la prise en charge d'Unicode dans Mingw-w64.

Considérations sur Unicode

L'utilisation d'Unicode n'est pas toujours une préoccupation importante. Pour les programmes simples qui nécessitent uniquement la prise en charge des caractères ASCII, l'utilisation régulière (CHAR) ou TCHAR est suffisante. Cependant, si le programme gère les caractères non-ASCII ou l'internationalisation, l'utilisation d'Unicode est recommandée.

Ressources

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn