web-dev-qa-db-fra.com

Comment désactiver Unicode dans un projet VC ++?

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.

alt text

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?

60
Cheeso

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

98
Nemanja Boric

Burgos a la bonne réponse. Juste pour clarifier, le jeu de caractères doit être changé en "Non défini".

20
Ellis Miller

propriétés du projet -> propriétés de configuration -> général -> jeu de caractères

7
Ahmed Said

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.

Image: Setting Configuragion In IDE

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".

Image: Confirming changes in configuration file

2
J.M.I. MADISON

utilisation #undef UNICODE en haut de votre fichier principal.

0
DTdev