Как отключить Unicode в проекте VC++?


у меня есть проект VC++ в Visual Studio 2008.

он определяет символы для unicode в командной строке компилятора (/D "_UNICODE" /D "UNICODE"), хотя у меня нет этого символа, включенного в разделе препроцессора для проекта.

alt текст http://i26.tinypic.com/14nz693.jpg

в результате я компилирую против версий Unicode всех функций библиотеки Win32, в отличие от ANSI. Например, в WinBase.ч, есть это:

#ifdef UNICODE
#define CreateFile  CreateFileW
#else
#define CreateFile  CreateFileA
#endif // !UNICODE

где Юникод включается в проект VC++, как я могу его отключить?

7 57

7 ответов:

вы пробовали: свойства проекта-общие-проект по умолчанию-набор символов?

см. ответы в этом вопросе для различий между параметрами" использовать Многобайтовый набор символов "и" не устанавливать":о параметре "набор символов" в visual studio 2010

Бургос имеет правильный ответ. Просто чтобы уточнить, набор символов должен быть изменен на"не установлен".

свойства проекта -> свойства конфигурации -> общие -> набор символов

использовать #undef UNICODE в верхней части вашего основного файла.

по какой-то причине я заметил, что параметр unicode для "всех конфигураций" на самом деле это относится не ко всем конфигурациям.

картинка: Setting Configuragion In IDE

чтобы подтвердить это ,я бы открыл.расширением vcxproj и подтвердить правильный знак во всех 4 местах. На этой фотографии я использую unicode. Так что строка Я ищу это "Unicode". Для вас, вы, вероятно, хотите, чтобы он сказал "Многобайтовый".

картинка: Confirming changes in configuration file

вы можете пойти в свойства проекта - > свойства конфигурации - > общие - >проект по умолчанию и там измените " набор символов "с" Unicode "на"Not set".

ни одно из вышеперечисленных решений не сработало для меня. Но

#include <Windows.h>

работала нормально.