ОБНОВЛЕНИЕ 1: мой оригинальный пост был слишком длинным и скрыл реальную проблему.Я точно обнаружил, что вызывает ошибку «Несколько целей» при вызове Make.
ОБНОВЛЕНИЕ 2: Я обнаружил, что эта ошибка «Несколько целей» вызвана GNU Make версии 3.8.1 (см. здесь1 и здесь2 ).GNU Make 3.8.1 - это текущая версия GNU Make, выпущенная с Cygwin.Подводя итог ссылке: Старый v3.8.0 прекрасно обрабатывал пути Windows, а более новый v3.8.1 сообщает об ошибках для путей Windows (может быть, это пассивный агрессивный джеб из FSF?).
Когда вы начинаетеновый проект в Eclipse + CDT + Cygwin без внешних включений / библиотек, у меня все отлично работает.
Как только я пытаюсь использовать внешние включаемые / библиотеки, я получаю ошибку "Несколько целей".
Вот точные шаги, необходимые для воспроизведения ошибки в Windows + Eclipse + CDT + Cygwin:
- Свойства проекта проекта -> Сборка C / C ++ -> Настройки -> Настройки инструмента -> Cygwin C Compiler -> Включает -> Включить пути (-I) -> Кнопка Добавить -> Каталог выбора -> "C: \ dir1 \ dir2"
- Iнажмите build.
- Он собирается без ошибок в первый раз.
- Я снова нажимаю build ... Я получаю ошибки сборки "Несколько целей. Стоп.".
- Я нажимаю на ошибку.
Eclipse запускает make-файл.Ошибка происходит, когда make видит путь Windows для нового файла включения из внешней библиотеки:
# NOTE: Error happens when the first "C:/" occurs
src/main.d src/main.o: ../src/main.c C:/dir1/dir2/ExternalLibrary.h
Причина, по которой Make получает ошибку «Multiple target», заключается в том, что она видит «:», являющееся частьюсинтаксиса Make для объявления цели.Когда есть два «:», выведите ошибки, потому что он не знает, что делать с «несколькими целями».
Я не могу редактировать make-файлы вручную, потому что они немедленно восстанавливаютсяи перезаписано [ОБНОВЛЕНИЕ: Eclipse-CDT].Учитывая, что я не могу вручную редактировать make-файл.
- Есть ли способ для Eclipse НЕ использовать путь "C: \"?или сказать make, чтобы игнорировать путь "C: \"?
- Это ошибка Eclipse + CDT + Cygwin?
- Если вы используетеЗатмение + CDT + Cygwin ... пожалуйста, помогите (я не хочу использовать Visual Studios ...)!Может я неправильно использую Eclipse + CDT + cygwin?Как ВЫ включаете в работу Внешнюю библиотеку?
* Очень сильно разочарованы *
Пытаетесь оставаться открытым исходным кодом и пересекаетесь-платформенный пользователь,
Trevor