Как отключить Unicode в проекте VC ++? - PullRequest
60 голосов
/ 24 августа 2009

У меня есть проект 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 ++ включен юникод, как его отключить?

Ответы [ 7 ]

97 голосов
/ 24 августа 2009

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

См. Ответы в этом вопросе относительно различий между параметрами «Использовать многобайтовый набор символов» и «Не задано»: О параметре «Набор символов» в Visual Studio 2010

20 голосов
/ 05 ноября 2009

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

7 голосов
/ 24 августа 2009

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

2 голосов
/ 24 июля 2017

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

Изображение: Setting Configuragion In IDE

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

Изображение: Confirming changes in configuration file

0 голосов
/ 24 июня 2015

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

0 голосов
/ 19 мая 2014

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

0 голосов
/ 24 октября 2011

Ни одно из вышеперечисленных решений не помогло мне Но

#include <Windows.h>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...