Подтвердить что ты не робот

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

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

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

alt text

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

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

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

4b9b3361

Ответ 1

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

См. ответы в этом вопросе о различиях между вариантами "Использовать многобайтовые символы" и "Не задано": О наборе символов и quot; вариант в visual studio 2010

Ответ 2

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

Ответ 3

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

Ответ 4

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

Фото: Настройка Configuragion In IDE

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

Фото: Подтверждение изменений в файле конфигурации

Ответ 5

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

Ответ 6

вы можете перейти к свойствам проекта → свойствам конфигурации → Общие → Проект по умолчанию и измените "Набор символов" с "Юникод" на "Не задано".

Ответ 7

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

#include <Windows.h>

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