2008-11-21 2 views
37

У меня есть проект C, который создается с использованием make-файла, Eclipse постоянно предупреждает о «Неверный путь к проекту: дублировать записи пути», но я не могу понять, что, черт возьми, он хочет от меня. Я хотел бы отключить это предупреждение и продолжить свою жизнь.Eclipse CDT Недопустимый путь к проекту

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

+1

Если вы используете Eclipse, 3.7/CDT 8 затем проверить ответ Кеннет Эванс. Я еще не тестировал его, но он выглядит хорошо, если он работает для вас, пожалуйста, оставьте комментарий. – 2012-06-05 19:16:58

+0

Протестировано и, кажется, работает. Это должен быть принятый ответ, ИМХО. – ysap 2012-08-28 20:08:50

ответ

30

Это работает для меня с Eclipse, 3.7.2 и 8.0.2 CDT:

  1. Откройте свойства проекта | C/C++ Build | Параметры обнаружения.
  2. Нажмите кнопку Очистить обнаруженные записи сейчас :.
  3. Перестроить.

Это, кажется, новая функция в CDT 8. У меня была проблема «Неверный путь к проекту: дублирование пути» в течение многих лет, и это, по-видимому, новое решение.

Перед выполнением этого были дублированные пути под C/C++ Общие | Пути и символы | Включает вкладку. Я не мог избавиться от них. Они появляются только при проверке значений встроенных значений, поэтому они, по-видимому, созданы каким-то образом. После этого они были заменены набором, который не имел дубликатов. Единственное отличие состоит в том, что те же настройки появились в разделе Assembly, GNU C и GNU C++. Раньше они были разными наборами. Например, для сборки были пустыми.

Пока проблема не вернулась.

0

Кажется, что ошибка в CDT.

Если вы действительно хотите избавиться от него, вы должны попытаться избавиться от пробелов в пути к проекту; это было предложено в результатах поиска для ошибки. Если это не сработает, вы можете попробовать открыть файл .cproject - там, где лежат все настройки CDT, и проверить фактический путь с повторяющимися записями.

26

Эта проблема - настоящая боль, с которой приходится иметь дело. Это не работает очень хорошо.

Это применимо к 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 индексирует это, вы найдете свое имя и исправляете эту ужасную реализацию. =)

+1

Как и обновление, вы можете использовать переменную $ {ProjName} вместо фактического имени проекта, и она будет сохраняться через переименование проекта. – 2009-08-03 18:07:28

12

Я нашел этот отчет об ошибке, чтобы помочь решить эту проблему. Я переместил некоторые включенные пути и не мог избавиться от старых путей.

Я тоже видел эту проблему, старые пути не удаляются. Чтобы вручную исправить файл, вам необходимо переместить/удалить $ {} Projectname файл .sc находящийся под $ {рабочей области} /. Метаданных/.plugins/org.eclipse.cdt.make.core

https://bugs.eclipse.org/bugs/show_bug.cgi?id=206372

0

Вы должны проверить, если вы вручную определили символ, который затмение может определить из вашего файла makefile. У меня есть проект с написанным вручную make-файлом, и проблема была решена путем удаления символов, которые я вручную добавил в C/C++. Общие -> Контуры и символы -> Символы.

0

Нет нужно удалить .metadata ребят, просто удалить все пути, расположенные в C/C Общих ++ ->Дорожки и символы ->Символов и заменить их на использование щелчка днища, но не дает путь вручную

1

Здесь я только что нашел еще один способ повторно обнаружить путь автоматически:

  1. Открыть "Workspace Настройки-> C/C++ -> Build -> Настройки -> Discovery"
  2. Найти «CDT Встроенных в настройках компилятора [осколок]»
  3. Нажмите «Очистить записи» и кнопку «Сброс» на правой
  4. Rebuild проектов и Done

Надеется, что это поможет.

Ссылка: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html

0

Вот поздний ответ Затмения 4.4 (который не имеет опции Discovery).

Удалить файл проекта infoPath.Eclipse или плагин ADT (не уверенный, который) воссоздает его и заполняет его правильными путями.

Вы можете найти файл проекта infoPath по адресу <Eclipse workspace>/.metadata/.plugins/com.android.ide.eclipse.ndk/<project>.pathInfo.

Я думаю Eclipse, или ADT плагин определяет новые пути из двух мест: (1) каталог NDK установить под предпочтением Eclipse, и (2) путь в Application.mk. Все эти пути становятся «встроенными» путями в Eclipse.

Также см How to change built-in C/C++ paths pointing to a deleted android-ndk-r9 installation?

2

Использование Eclipse, Luna и CDT 8.5

Я установил вопрос по

  1. Открыть свойства проекта | C/C++ Общие | Пути и символы
  2. Посмотрите на вкладку «Расположение источника», я переименовал каталог и не был обновлен в этом списке.
  3. Rebuild
Смежные вопросы