Переменная препроцессора C ++, определенная в конфигурации проекта в Eclipse, но невидимая для индексатора C ++

Я использую переменные препроцессора, чтобы определить, создан ли код для тестирования или производства (я знаю, что вы не можете этого сделать, но это не проблема).

Я добавил emc_test переменная препроцессора в Project -> C++ General -> Paths and Symbols -> # Symbols, но индексированный C ++ не видит его, что приводит к тому, что блоки охраняются #ifdef emc_test выделение серым цветом и символы внутри не видны как завершение кода.

0

Решение

В моем случае у меня было две конфигурации сборки, одна для тестов (с emc_test определено) и другое для выпуска. Я предполагал, что индекс C ++ будет использовать любую активную конфигурацию, но это не так.

В C++ General -> Indexer есть запись, которая контролирует, какая конфигурация является источником C++ символы препроцессора. И по умолчанию eclpise выбрал «Использовать фиксированную конфигурацию сборки».

Снимок экрана настройки

0

Другие решения


По вопросам рекламы [email protected]