Есть ли способ, чтобы eclipse распознал виртуальные определения для каждой конфигурации сборки? - PullRequest
1 голос
/ 21 декабря 2009

Я работаю над унаследованным проектом Borland C / C ++, и большая часть функциональности проекта скрыта за #ifdefs, которые полагаются на определения, переданные компилятору. Я пытался заставить затмение активировать эти разделы, используя символы для каждой конфигурации, однако при просмотре исходных файлов большие разделы по-прежнему отображаются серым цветом. Есть ли способ сообщить eclipse об этих определениях, чтобы я мог изменить свою конфигурацию сборки и посмотреть, какие разделы кода правильно компилируются?

1 Ответ

0 голосов
/ 21 декабря 2009

Эта ссылка на проблему описана в этой теме?

Скорее всего, проблема в том, что указанные вами файлы не найдены в пути поиска для включения.
Разница между macro- и include-files заключается в том, что: - макро-файлы обрабатываются только предварительно (то есть определения макросов извлекаются), тогда как - включаемые файлы фактически анализируются (т.е. извлекаются также объявления).

Эти параметры должны работать так же, как параметры командной строки gcc -imacro и -include.

Теперь я вижу проблему.
У меня отключили индексатор для проекта.
Таким образом, сам файл был найден, но буфер для него был пуст, поскольку не смог найти файл в индексе.

Немного покопавшись в коде, я обнаружил, что могу включить опцию «Следовать за неиндексированными заголовочными файлами при создании представления контура» на странице настроек C / C ++, и тогда он правильно проанализирует файл макроса.


Или это связано с более поздними ошибками, такими как bug 197989 ? (быстрый индексатор может быть неточным, если заголовок включен несколько раз)

...