1) Если вы хотите изменить определения для вашей системы на основе конфигурации сборки, вам нужно сделать, как сказал dgrant: «Свойства проекта и выберите C / C ++ General-> Paths and Symbols, затем выберите вкладку Symbols», ноВы должны убедиться, что в верхней части окна выбрана правильная конфигурация.Также убедитесь, что при добавлении символа в список, который вы НЕ делаете, установите флажок «добавить ко всем конфигурациям».
2) Если вы хотите, чтобы ваш правильный набор символов анализировался CDT в вашем редакторе, вам также необходимо убедиться, что у вас активна правильная конфигурация сборки.Для этого щелкните правой кнопкой мыши свой проект и выберите «Build Configurations» -> «Set Active» -> и выберите конфигурацию сборки, которую вы хотите сделать активной.CDT теперь будет анализировать все файлы, как если бы эта конфигурация сборки была активной, используя глобальные символы, которые вы определили на последнем шаге.
Существует проблема, с которой я сталкивался в каждой версии Eclipse, где он не 't всегда решайте немедленно перестроить ваши индексные файлы.Чтобы сделать это, вы можете либо запустить сборку (сборка фактически не должна завершаться), либо вы можете щелкнуть правой кнопкой мыши на своем проекте и перейти к Index-> Rebuild.Оба вызывают немедленную реиндексацию.Однако вам это не нужно, я могу подтвердить, что простое изменение конфигурации сборки, как описано в шаге 2 выше, приведет к тому, что #ifdef, проверяющий символ, определенный только в одной из моих конфигураций сборки, сразу же станет серым илине серого цвета, как следует.