Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eclipse
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Dubov
Установил Eclipse на Debian. Создал простой Hello world.
В итоге не собирается.
Скриншот прикрепляю. Может сталкивался кто
Fedor
Цитата(Dubov @ Jan 28 2013, 00:33) *
Установил Eclipse на Debian. Создал простой Hello world.
В итоге не собирается.
Скриншот прикрепляю. Может сталкивался кто

По моему у вас поставлен "чистый" эклипс для компиляции под яву?
http://makesystem.net/?p=988
Dubov
Спасибо, Fedor
но не нужно для ARM мне нужно именно для Linux x86
Fedor
Цитата(Dubov @ Jan 28 2013, 23:59) *
Спасибо, Fedor
но не нужно для ARM мне нужно именно для Linux x86

тогда это вопрос для другой ветки форума
http://www.eclipse.org/cdt/
_Pasha
Неправда Ваша!!!
Только что в два клика New Project -> C project -> Executable -> Hello Worild Ansi C project(Toolchains: Linux GCC)
Все компилит
Eclipse Indigo
Плагины CDT итд все что надо и не надо sm.gif
Сергей Борщ
QUOTE (_Pasha @ Jan 28 2013, 21:31) *
Все компилит
А может у автора вопроса gcc не стоит?
_Pasha
Цитата(Сергей Борщ @ Jan 29 2013, 01:49) *
А может у автора вопроса gcc не стоит?

Автор вопроса привел скриншот, из которого вообще ничего не понятно. Тем более, что обычно народ вначале что-то узнаёт, читает, какие плагины ставить итд...
Dubov
Простите, господа! Я отсутствовал некоторое время.
Выкладываю ещё один скриншот с ошибками и варнингами. при запуске из консоли - та же история, но консоль пишет:
Unable to find full path for "gcc"
Unable to get $PATH

Понятно что не может получить переменную окружения. Но в чём может быть дело? как поправить?

thodnev
У Вас проблемы с настройками окружения.
Вот тут кое-что есть: http://forums.debian.net/viewtopic.php?f=16&t=62383
_Pasha
Вопрос традиционный: что говорит echo $(PATH)
?
Dubov
Цитата(_Pasha @ Jan 30 2013, 23:06) *
Вопрос традиционный: что говорит echo $(PATH)
?

показывает пути
/usr/local/bin /usr/bin/

и путь до кросскомпилятора для ARM

самое интересное, что из командной строки gcc собирает проекты прекрасно.

А вот Eclipse не хочет видеть gcc. Может прописать где-то нужно?

Не хочется доп пакеты ставить(да и надо ли?)

P.S. возможно, у кого-то есть образ для VMware с рабочим Eclipsе'ом, может поделится кто...
_Pasha
Цитата(Dubov @ Jan 31 2013, 09:35) *
А вот Eclipse не хочет видеть gcc. Может прописать где-то нужно?

Тогда еще список установленных плагинов для Ыклипсы покажите. Действительно, загадка.
Dubov
Цитата(_Pasha @ Jan 31 2013, 10:16) *
Тогда еще список установленных плагинов для Ыклипсы покажите. Действительно, загадка.

каюсь, но незнаю как это сделать. Например, когда делаю New->Project->C project
появляется окно, где я выбираю Hello project и на выбор есть два варианта тулчеинов: Linux GCC и Cross GCC.

Как посмотреть плагины?
_Pasha
Цитата(Dubov @ Jan 31 2013, 14:17) *
Как посмотреть плагины?

Не знаю. Это я с CodeBlocks перепутал.
Project Properties/"C/C++build"/Builder type должен быть external
Dubov
Проблема решилась частично путём добавление "руками" значения переменной PATH в Project->Properties->C/C++Build->Environment

теперь после сборки такая ошибка:

make: ***[src/Hello.o] Error 127

а в консоли вижу строку:

make: echo
command not found

приключения продолжаются! smile3046.gif
Dubov
Решил проблему!
Возможно кому-то поможет в будущем:
Eclipse создаёт Makefile, который содержит команду echo. Эту команду, по всей видимости, не понимал мой make. Таким образом, создание проекта с Makefile который написан "руками" решило проблему.
Как задать настрйоки создания автоматически правильного Makefile я так и не нашёл, если это вообще возможно.

Кто знает подскажите возможно ли задать правила генерации Makefile в Eclipse?
mdmitry
Цитата(Dubov @ Feb 4 2013, 11:48) *
Решил проблему!
Возможно кому-то поможет в будущем:
Eclipse создаёт Makefile, который содержит команду echo. Эту команду, по всей видимости, не понимал мой make. Таким образом, создание проекта с Makefile который написан "руками" решило проблему.

Имейте, пожалуйста, в виду , что под linux Makefile и makefile это разные файлы. Утилита make ищет makefile, а Makefile обычно создается автоматически утилитой cmake.
Возможно, Вам стоит посмотреть документацию на make и cmake.
Dubov
Цитата(mdmitry @ Feb 4 2013, 13:11) *
Имейте, пожалуйста, в виду , что под linux Makefile и makefile это разные файлы. Утилита make ищет makefile, а Makefile обычно создается автоматически утилитой cmake.
Возможно, Вам стоит посмотреть документацию на make и cmake.

не знал. Я руками создаю Makefile.
затем делаю make all и происходит сборка (это в консоли)
в Eclipse я создаю проект (проект Makefile project with existing code) где использую тот же Makefile и всё собирается тоже хорошо.

А вот автоматически созданный Makefile содержит команду echo
и тогда консоль в Eclipse пишет:
make: echo : command not foumd
Сергей Борщ
QUOTE (Dubov @ Feb 4 2013, 12:20) *
А вот автоматически созданный Makefile содержит команду echo
А у вас сама echo стоит? /bin/echo присутствует?
type -a echo что показывает?
Dubov
Цитата(Сергей Борщ @ Feb 4 2013, 14:29) *
А у вас сама echo стоит? /bin/echo присутствует?
type -a echo что показывает?

возможности нет сейчас проверить, но echo $PATH работает. это для примера
_Pasha
Makefile рекомендовали потому, что он вверху списка файлов. Ы
make пофиг что makefile что Makefile
mdmitry
Цитата(_Pasha @ Feb 4 2013, 15:42) *
make пофиг что makefile что Makefile

?????
Случай 1. В директории присутствуют оба файла: и makefile, и Makefile. Какой будет использоваться при вызове
Код
make
?
Случай 2. Гипотетический. В makefile присутствует строка
Код
include Makefile

Обычно как-то так:
Код
include Makefile.in

и забыли добавить расширение.
Случай 3. Особенности структуры makefile, автозависимость от него же. Пример, makefile от AHTOXA для ScmRTOS.
Переименовываем его в Makefile, запускаем make и ... результат rolleyes.gif
_Pasha
Цитата(mdmitry @ Feb 4 2013, 23:21) *
Случай 1. В директории присутствуют оба файла: и makefile, и Makefile. Какой будет использоваться при вызове
Код
make
?

Может я чего не знаю, но по логике построения должен юзать Makefile
mdmitry
Цитата(_Pasha @ Feb 5 2013, 12:45) *
Может я чего не знаю, но по логике построения должен юзать Makefile

И что мешает поставить эксперимент и обнародовать результат?
_Pasha
Цитата(mdmitry @ Feb 5 2013, 14:41) *
И что мешает поставить эксперимент и обнародовать результат?

Поставил.
Юзает makefile. Никакой логики, то есть smile3046.gif
А потом удивляешься, отчего же надо курить-неперекурить маны по любому мельчайшему вопросу.

Цитата(mdmitry @ Feb 4 2013, 23:21) *
Случай 3. Особенности структуры makefile, автозависимость от него же. Пример, makefile от AHTOXA для ScmRTOS.
Переименовываем его в Makefile, запускаем make и ... результат rolleyes.gif

Это искусственный случай, т.к. его можно свести к использованию макроса вместо явного указания в зависимости.
Код
#comment out one of the following lines
MFILE = makefile
MFILE = Makefile
mdmitry
Цитата(_Pasha @ Feb 5 2013, 15:04) *
Поставил.

Давно чего-то собирал из исходников и был сильно удивлен нахождению в одном каталоге смеси makefile, Makefile и Makefile.in после запуска ./configure. Разобрался и перестал удивляться. Логика есть. makefile для make. Makefile.in может быть и от cmake и результатом работы ./confgure. он же может сгененировать и makefile c включением в него Makefile.in со специфическими настройками.

Цитата
Это искусственный случай, т.к. его можно свести к использованию макроса вместо явного указания в зависимости.
Код
#comment out one of the following lines
MFILE = makefile
MFILE = Makefile


О примере без макроса уже говорил. Из makefile от Martin Thomas (ChaN's FatFs)
Код
# List non-source files which should trigger build here
#    Typically the Makefile and selected header-files
#    Entries must be seperated by a space.
BUILDONCHANGE = makefile
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.