Подтвердить что ты не робот

Eclipse CDT Недопустимый путь к проекту

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

Это применимо к Eclipse 3.4.1/CDT 5.0.1

Из того, что я могу сказать, когда вы создаете "C/С++ Project" в CDT, он попытается автоматически определить ваши включенные пути. Отличная идея, но реализация ужасна.

Если вы удалите или переименуете каталог, старый каталог останется. Если вы переименуете проект, старый каталог останется. Когда Eclipse не может найти этот старый каталог, он дает вам это предупреждение.

Мое решение полностью отключает автоматическое обнаружение и управляет моими путями включения вручную. Вам нужен этот список включенных путей для таких вещей, как ctrl-click (автоопределение для определения /functions/files/etc ) и затенение блоков #define. Он строит индекс из этого списка.

Вот что вам нужно сделать: Щелкните правой кнопкой мыши свой проект в проводнике проекта и перейдите к свойствам. Перейти к C/С++ Build → Параметры обнаружения Снимите флажок "Автоматизировать обнаружение путей и символов"

Теперь перейдите к C/С++ Общие → Пути и символы На вкладке "Включает" на вкладке "Собрания", "С" и "C++" отображаются соответствующие каталоги с открытыми автозапусками. Перейдите на все 3 языка и удалите все. Откройте ваш make файл и расшифруйте свои включенные на соответствующий язык. Переименование проекта все равно вызовет разрыв индексатора. ${project_name} и другие глобальные переменные, похоже, не работают. Если у вас возникли проблемы, используйте кнопку "Рабочая область", чтобы перейти к каталогу, который вы хотите включить, поскольку это всегда работает, но ввод его вручную НЕ. Нажмите "Применить", затем "ОК". Щелкните правой кнопкой мыши свой проект, перейдите в index- > ​​rebuild Перезапустить eclipse.

Это должно исправить вещи навсегда. В любое время что-то неправильно убирается из-за блока #define или #ifdef, потому что этот список файлов устарел. Вы также узнаете, что список устарел, если вы получаете "неразрешенные включения" в строках #include.

Doug Schaefer, надеюсь, Google индексирует это, вы найдете свое имя и исправляете эту ужасную реализацию. =)

Ответ 3

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

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

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

Ответ 4

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

Я исправил проблему с помощью

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

Ответ 5

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

  • Откройте "Настройки рабочей области- > C/С++ → Сборка → Настройки → Обнаружение"
  • Найти "Настройки компилятора CDT [Shard]"
  • Нажмите кнопку "Очистить записи" и "Reset" справа.
  • Перестроить проекты и выполнить

Надеюсь, это поможет.

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

Ответ 6

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

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

Ответ 7

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

Ответ 8

Не нужно удалять парней .metadata, просто удалите весь путь, расположенный в C/С++ General → Paths and Symbols → Symbols, и замените их на использование кнопки buttom, но не передайте путь вручную

Ответ 9

Здесь приведен последний ответ для Eclipse 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.

Также см. Как изменить встроенные C/С++ пути, указывающие на удаленную установку android-ndk-r9?