J'ai un projet VC++ dans Visual Studio 2008.
Il définit les symboles pour unicode sur la ligne de commande du compilateur (/D "_UNICODE" /D "UNICODE"
), même si ce symbole n'est pas activé dans la section préprocesseur du projet.
Par conséquent, je compile avec les versions Unicode de toutes les fonctions de la bibliothèque Win32, par opposition à celles ANSI. Par exemple dans WinBase.h, il y a:
#ifdef UNICODE
#define CreateFile CreateFileW
#else
#define CreateFile CreateFileA
#endif // !UNICODE
Où l'activation de l'unicode dans le projet VC++, comment puis-je le désactiver?
Avez-vous essayé: Propriétés du projet - Général - Paramètres par défaut du projet - Jeu de caractères?
Voir les réponses à cette question pour les différences entre les options "Utiliser le jeu de caractères multi-octets" et "Non défini": À propos de l'option "Jeu de caractères" dans Visual Studio 201
Burgos a la bonne réponse. Juste pour clarifier, le jeu de caractères doit être changé en "Non défini".
propriétés du projet -> propriétés de configuration -> général -> jeu de caractères
Pour une raison quelconque, j'ai remarqué que le réglage sur unicode pour "Toutes les configurations" ne s'appliquait pas réellement à toutes les configurations.
Pour confirmer cela, j'ouvrirais le .vcxproj et confirmerais que le bon jeton se trouve dans les 4 emplacements. Sur cette photo, j'utilise unicode. La chaîne que je recherche est donc "Unicode". Pour vous, vous voudrez probablement qu'il dise "MultiByte".
utilisation #undef UNICODE
en haut de votre fichier principal.