Я использую переменные препроцессора, чтобы определить, создан ли код для тестирования или производства (я знаю, что вы не можете этого сделать, но это не проблема).
Я добавил emc_test
переменная препроцессора в Project
-> C++ General
-> Paths and Symbols
-> # Symbols
, но индексированный C ++ не видит его, что приводит к тому, что блоки охраняются #ifdef emc_test
выделение серым цветом и символы внутри не видны как завершение кода.
В моем случае у меня было две конфигурации сборки, одна для тестов (с emc_test
определено) и другое для выпуска. Я предполагал, что индекс C ++ будет использовать любую активную конфигурацию, но это не так.
В C++ General
-> Indexer
есть запись, которая контролирует, какая конфигурация является источником C++
символы препроцессора. И по умолчанию eclpise выбрал «Использовать фиксированную конфигурацию сборки».