Maison > développement back-end > C++ > Pourquoi MinGW renvoie-t-il une erreur « référence non définie à WinMain » lors de l'utilisation de wWinMain en C ?

Pourquoi MinGW renvoie-t-il une erreur « référence non définie à WinMain » lors de l'utilisation de wWinMain en C ?

Linda Hamilton
Libérer: 2024-11-05 11:23:02
original
325 Les gens l'ont consulté

Why does MinGW throw an

Résolution de la référence non définie à WinMain lors de l'utilisation de wWinMain en C (MinGW)

Lors de la tentative d'utilisation de wWinMain (HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine , int nCmdShow) comme point d'entrée du programme en C sous MinGW, une erreur "référence non définie à WinMain" peut se produire.

Cause :

MinGW, en particulier les anciennes versions , ne prend pas en charge nativement le point d'entrée wWinMain, qui attend un argument de ligne de commande à caractères larges (WCHAR).

Solution :

Il existe deux solutions potentielles :

1. Utilisez l'indicateur -municode :

Les versions plus récentes de MinGW prennent en charge l'indicateur de l'éditeur de liens -municode, qui passe à un code de démarrage alternatif permettant d'utiliser wWinMain. Ajoutez cet indicateur à votre ligne de commande, aux options de l'éditeur de liens dans votre IDE ou à Makefile :

g++ other_options_and_arguments -municode
Copier après la connexion

2. Utilisez le point d'entrée WinMain :

Pour les anciennes versions de MinGW ou si vous préférez ne pas utiliser l'indicateur -municode, vous pouvez revenir à l'utilisation du point d'entrée WinMain standard. Cela nécessite de modifier votre code comme suit :

  • Changez wWinMain en WinMain
  • Changez PWSTR pCmdLine en PSTR pCmdLine

Remarque supplémentaire :

Si vous devez accéder aux arguments de ligne de commande Unicode plus tard dans votre programme, utilisez LPWSTR cmd_line = GetCommandLineW(); au lieu d'utiliser l'argument WinMain.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal