Препроцессор Eclipse Juno включает сканер путей, макросов и т. д. для CDT

Таким образом, обнаружение сканера было переработано, как это было сделано здесь:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290631
http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg24345.html

Однако я не могу найти никакой информации о том, как его использовать. Недавно я обновился с Helios до Juno, и теперь у меня 8000 «семантических ошибок» и тонна неразрешенных включений. Однако я не могу понять, как использовать эту новую функцию. Я не думаю, что есть еще какая-либо документация.

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

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


person Jeff Lamb    schedule 20.06.2012    source источник


Ответы (1)


Догадаться.

Использовал это как руководство: https://developer.mozilla.org/en/Eclipse_CDT

В свойствах проекта «C/C++ Build» я заменил команду сборки по умолчанию на мою команду сборки. Мне пришлось удалить переключатель -s (бесшумный переключатель), чтобы анализатор вывода мог получить все пути и макросы из команд компилятора. Указал «каталог сборки» на каталог с моим make-файлом.

В разделе «Общие C/C++» > «Препроцессор включает пути, макросы и т. д.» > «Поставщики» Я выбрал записи пользовательских настроек CDT и синтаксический анализатор вывода сборки CDT GCC. Затем мне пришлось изменить шаблон команды компилятора, чтобы он соответствовал моему кросс-компилятору gcc. Для этого я просто изменил «gcc» на «arm-elf-gcc».

После полной сборки (не используйте многоядерные сборки для первого индексирования) щелкните правой кнопкой мыши свой проект, выберите «индексировать» и «перестроить». После этого выходной синтаксический анализатор правильно заполнил индексы, и они появились в разделе «C/C++ General» > «Preprocessor Include Paths, Macros и т. д.». > "Записи"

person Jeff Lamb    schedule 20.06.2012
comment
Это еще больше ухудшило ситуацию. Мой переход на Juno был безупречным, за исключением того, что теперь весь мой проект и все внешние библиотеки для проекта сообщают об ошибках в eclipse из-за плохой индексации. Это решение вообще не помогло. Даже пространство имен std не найдено. Буквально каждая функция C/C++ сообщает об отсутствии. Да, проект по-прежнему компилируется нормально. - person Halsafar; 11.07.2012