У меня есть определение препроцессора PRIVATE_CODE, установленное в свойствах моего проекта VS2017 (VS2017 версия 15.9.6 для Windows 8.1):
- Щелкните правой кнопкой мыши решение
- Свойства конфигурации
- C / C ++
- Препроцессор
- Определения препроцессора (поле)
Однако, когда я смотрю на код в любом файле, который ищет его длябыть определенным, код не используется.Я могу сказать, потому что в моей темной тематической среде разработки код в секции IFDEF затемнен, а код в секции ELSE имеет нормальную яркость.
Чтобы быть абсолютно уверенным, я вставил плохую строку кода в каждуюраздел, чтобы увидеть, какой раздел вызвал ошибку компилятора:
#ifdef PRIVATE_CODE
// This should trigger a compiler error.
adadfadsf;
#else
// Instead, I get a compiler error here, indicating that the compiler
// is not paying attention to the preprocessor definitions I set.
asdfadfff;
#endf
Кто-нибудь еще имел эту проблему и знает, почему это происходит?