Maison  >  Article  >  développement back-end  >  Pourquoi MinGW génère-t-il une erreur « référence non définie à WinMain@16 » lors de l'utilisation de wWinMain ?

Pourquoi MinGW génère-t-il une erreur « référence non définie à WinMain@16 » lors de l'utilisation de wWinMain ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-05 14:04:02232parcourir

Why Does MinGW Raise an

wWinmain, Unicode et MinGW

Problème :

Lors de l'utilisation de MinGW et Code : :Blocks, la fonction wWinMain génère une erreur "référence non définie à WinMain@16".

Cause :

Les anciennes versions de MinGW ne disposent pas du support natif de wWinMain.

Solution pour les anciennes versions de MinGW :

  • Utilisez un wrapper comme mingw-unicode-main :

    • Ajoutez un "C" externe à la fonction wmain et utilisez l'option -municode. (Ce wrapper n'est plus nécessaire pour les versions plus récentes de MinGW.)

Solution pour les versions plus récentes de MinGW :

  • Utiliser l'option -municode.
  • Installez MinGW-w64, qui prend en charge -municode.

Implications non Unicode :

  • Il n'est pas recommandé d'éviter Unicode pour la programmation Windows.
  • L'utilisation de LPSTR au lieu de PWSTR peut limiter les fonctionnalités et la compatibilité.

Questions connexes :

  • Utilisation du point d'entrée wmain() dans Code::Blocks
  • Erreur lors de la compilation du programme Windows en Dev-C
  • définir _UNICODE ne fonctionne pas avec MinGW CodeBlocks

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