Эта проблема - настоящая боль, с которой приходится иметь дело. Это не работает очень хорошо.
Это применимо к Eclipse, 3.4.1/CDT 5.0.1
Из того, что я могу сказать, когда вы создаете «/ проект C++ C» в рамках CDT, он будет пытаться автоматически определить ваш включают пути , Отличная идея, но реализация ужасна.
Если вы удалите или переименуете каталог, старый каталог останется. Если вы переименуете проект, старый каталог останется. Когда Eclipse не может найти этот старый каталог, он дает вам это предупреждение.
Мое решение полностью отключает автоматическое обнаружение и управляет моими путями включения вручную. Вам нужен этот список включенных путей для таких вещей, как ctrl-click (автоопределение для определения/functions/files/etc) и затенение блоков #define. Он строит индекс из этого списка.
Вот что вам нужно сделать: Щелкните правой кнопкой мыши ваш проект в проводнике проекта и перейдите к свойствам. Перейти к C/C++ Build -> Discovery Опции Uncheck "Автоматизировать обнаружение путей и символов"
Теперь переходим к C/General C++ -> Paths и символы Вы увидите под Включает вкладки в сборе, C и Языки C++ с соответствующими автоматически открытыми каталогами. Перейти на все 3 языка и удалить все. Откройте свой make-файл и перепишите его на соответствующий язык. Переименование проекта по-прежнему приведет к разрыву индексатора. $ {project_name} и другие глобальные переменные, похоже, не работают. Если у вас возникли проблемы, используйте кнопку «Рабочая область», чтобы перейти к каталогу, который вы хотите включить, поскольку это всегда работает, но ввод его вручную НЕ. Нанесение удара, затем ОК. Щелкните правой кнопкой мыши свой проект, перейдите в index-> rebuild Перезапустите eclipse.
Это должно исправить ситуацию навсегда. В любое время что-то неправильно скрывается из-за блока #define или #ifdef, потому что этот список файлов устарел. Вы также узнаете, что список устарел, если вы получаете «неразрешенные включения» в строках #include.
Doug Schaefer, надеюсь, Google индексирует это, вы найдете свое имя и исправляете эту ужасную реализацию. =)
Если вы используете Eclipse, 3.7/CDT 8 затем проверить ответ Кеннет Эванс. Я еще не тестировал его, но он выглядит хорошо, если он работает для вас, пожалуйста, оставьте комментарий. – 2012-06-05 19:16:58
Протестировано и, кажется, работает. Это должен быть принятый ответ, ИМХО. – ysap 2012-08-28 20:08:50