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 ?
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
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!