Перейти к содержанию
    

Вопросы по Eclipse, CDT, Zylin embedded CDT

Я храню все проекты в репозиториях subversion. git не зашел как-то. Одно изделие - один репозиторий. Workspace не храню - он у меня тоже отдельный для каждого изделия и содержит только проекты для этого изделия. Переключение с работы над одним изделием на работу с другим - загрузка другого Workspace. Все настройки workspace и перспектив (включая расположение окон и кнопок на панели) сохраняется в отдельном репозистории (сначала Window->Perspective->Save perspective as, потом File->Export->General->Preferences). На новом рабочем месте я вытягиваю из репозистория рабочую копию для конкретного изделия, создаю в ней чистый Workspace, импортирую в него настройки (File->Import->General->Preferences, потом Window->Perspective->Reset perspective) и импортирую проекты (File->Import->General->Existing projects into workspace указывая корневую директорию рабочей копии).

Это приходится делать не так часто, поэтому не обременяет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день! Можете подсказать как избавиться от случайных прыжков по коду при дебаге?. Использую связку Eclipse+OCD+Zylin.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24.04.2021 в 12:19, GenaSPB сказал:

Использовать опцию оптимизации -Og

 

Спасибо за совет. Но причина была в другом. Косяк с прошивкой изначально был.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня не работает Back в Xilix Vitis 2019.2.

Open Declaration по F3 нормально переходит к определению, а Back обратно по Alt+Left не возвращается к символу.

Сталкивался ли кто-нибудь с таким ? Всю жизнь Eclipse работал чётко в этом месте.

В Window/Preferences Additional/Keys есть переназначение клавиш, там с "Open Declaration" 8 вариантов, без конфликтов.

А с Back -- всего 4. Картинки приложить не могу, извините.

Я вычислил дихотомией с удалением сочетаний клавиш, что в исходнике срабатывает "C/C++ Editor / C/C++ Source".

Такой же пары для Back нет. Наверное, потому и не срабатывает, что-то забыли разработчики.

Возможно как-то добавить в Eclipse нужную Back с "C/C++ Editor / C/C++ Source" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый вечер,

на основе примера работы с Eclipse, опубликованного в 2019-м году,

пытаюсь собрать проект (hello world) в свежей версии Eclipse только с main.c и makefile

и с использованием 'Build command:' mingw32-make.exe (нужно именно так).

Проект получается собрать без ошибок, только если указывать полный путь к makefile,

а в makefile - полный путь к main.c.

Сам проект в папке D:\esp\proj\, файлы main.c и makefile оказались в созданной IDE папке D:\esp\prj\.settings\ ; папок src, inc не создавал.

Но IDE файлы просто так не видит, для выполнения сборки ввожу:
Build command: mingw32-make (путь к mingw32-make прописан в "Переменных среды" Windows)
Build argument: -f D:\esp\prj\.settings\makefile 

(в старой версии mingw32-make -f makefile, судя по примеру, можно было вводить одной строкой, сейчас не проходит).
В теле makefile также приходится указывать путь для main.c, например, фрагмент из makefile:

main.o: D:\esp\prj\.settings\main.c
             gcc -O0 -g3 -Wall -c D:\esp\prj\.settings\main.c

 

Удивляет, что IDE не видит main.c и makefile даже в workspace.

ВОПРОСЫ: действительно ли нужно где-то в IDE прописывать полный путь к файлам проекта, если да, то где?
Если в C/C++ Build \ Environment, правильно ли будет создать новую переменную (а не добавлять папку в переменную 'PATH')?

Если да (создать новую переменную с именем, например, PrPath, в которой может указываться множество путей, как в PATH), как использовать такую переменную?
Невидимость файлов в IDE странна, может, надо какую-нибудь галочку поставить?

 

Есть ли разница, как создавать main.c, как File или как Source File? То же для Folder и Source Folder.

Если разница есть,

то как создавать и в каким образом созданную папку помещать main.c и, например, подключаемый через заголовочный файл myfunc.h файл myfunc.c?

Как File и Folder или как Source File в папку Source Folder?

 

Интересует ответ для свежей версии Eclipse

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/6/2023 at 8:57 PM, bvn123 said:

Интересует ответ для свежей версии Eclipse

Как файлы main.c и makefile оказались в указанной вами папке ?

Вы эти файлы сами создавали ?

Вытащите их из этой папки на уровень выше.

Makefile вы сами создавали или они были созданы Эклипсой автоматически ?

Папки можете в файловом менеджере внутри папки проекта. Вот здесь D:\esp\prj\

Дальше в Эклипсе щелкаете F5 и она их отобразит в дереве проекта.

В папке .settings ничего создавать не надо. Все создавайте в папке D:\esp\prj\

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/6/2023 at 9:16 PM, dimka76 said:

Как файлы main.c и makefile оказались в указанной вами папке ?

Вы эти файлы сами создавали ?

Вытащите их из этой папки на уровень выше.

Makefile вы сами создавали или они были созданы Эклипсой автоматически ?

Папки можете в файловом менеджере внутри папки проекта. Вот здесь D:\esp\prj\

Дальше в Эклипсе щелкаете F5 и она их отобразит в дереве проекта.

В папке .settings ничего создавать не надо. Все создавайте в папке D:\esp\prj\

создавал файлы main.c и makefile так:

в Project Explorer (см.картинку, левая панель) клик правой клавишей на имени проекта 'test_makefile (in .settings)' \ New \ <уже здесь вопрос: main.c - создавать как File или как Source File? В чем разница?> File (возможно, Source File) \ main.c

так же создавал makefile - как File, а не Source File, наполнял оба файла. Оба файла оказались в папке D:\esp\prj\.settings\

Просто перенести оба файла в папку на уровень выше (в  D:\esp\prj\) пробовал + заменял в Properties \ C/C++ Build \ Build argument: -f D:\esp\prj\.settings\makefile на Build argument: -f makefile

makefile не обнаруживается. Также пробовал оставить весь путь в Build arguments, а в makefile убирал путь к main.c - не обнаруживался main.c

 

 

Eclipse_PrjExplorer.jpg

Eclipse IDE for Embedded C/C++ Developers (includes Incubating components) Version: 2022-12 (4.26.0) Build id: 20221201-1913

 

P.S.

Для пояснения добавил видео; путь сократил до D:\a\   Файл main.с создавал как Source File, файл makefile - как File.

Там сборка без ошибок с путями и ошибки при удалении путей. Звука нет.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 10:42 AM, bvn123 said:

создавал файлы main.c и makefile так:

в Project Explorer (см.картинку, левая панель) клик правой клавишей на имени проекта 'test_makefile (in .settings)' \ New \ <уже здесь вопрос: main.c - создавать как File или как Source File? В чем разница?> File (возможно, Source File) \ main.c

так же создавал makefile - как File, а не Source File, наполнял оба файла. Оба файла оказались в папке D:\esp\prj\.settings\

Просто перенести оба файла в папку на уровень выше (в  D:\esp\prj\) пробовал + заменял в Properties \ C/C++ Build \ Build argument: -f D:\esp\prj\.settings\makefile на Build argument: -f makefile

makefile не обнаруживается. Также пробовал оставить весь путь в Build arguments, а в makefile убирал путь к main.c - не обнаруживался main.c

Вы же первый раз создали проект в папке .settings и вам Эклипс это показывает

image.png.d194d8d922ef7950883e6a7da477682a.png

Вы еще не пробовали в Properties \ C/C++ Build \ Build argument убрать путь к makefile и в самом makefile убрать пути к файлу main.c

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 12:51 PM, dimka76 said:

1) Вы же первый раз создали проект в папке .settings и вам Эклипс это показывает

2) Вы еще не пробовали в Properties \ C/C++ Build \ Build argument убрать путь к makefile и в самом makefile убрать пути к файлу main.c

1) что в скобках показывает папку, я понял, но специально не создавал, очевидно, в первый раз main.c создавался как File, второй раз (в папке d:\a\, а не в d:\a\.settings\) - точно как Source file

2) пробовал: в видео это 5:19 и 4:44 соответственно.

пробовал также варианты сократить до

'-f a\makefile',  '-f \a\makefile',  '-f a/makefile', '-f /a/makefile'   (т.к. попадались и слэши вместо бэк слэшей в автоматически созданном make)

эти же варианты пробовал в теле makefile для пути к файлу main.c. Оба изменения проверял отдельно.

Что пришло в голову, проверил, иначе не задавал бы вопрос.

Удивляет, что и на форуме Eclipse за 3 дня ни одного ответа;

впечатление, что версия 3-летней давности, в которой этой проблемы не было, зачем-то "улучшена" в этом направлении.

Как писал выше, и команда одной строкой в новой версии не работает ('mingw32-make -f d:\a\makefile'), параметр '-f d:\a\makefile' надо обязательно указывать в отдельном окне. Кому мешал и старый вариант ввода, хотя бы как альтернативный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 2:09 PM, bvn123 said:

1) что в скобках показывает папку, я понял, но специально не создавал, очевидно, в первый раз main.c создавался как File, второй раз (в папке d:\a\, а не в d:\a\.settings\) - точно как Source file

Он показывает не где файл main.c, а где (в какой папке) создан именно проект.

On 1/7/2023 at 2:09 PM, bvn123 said:

2) пробовал: в видео это 5:19 и 4:44 соответственно.

Убрать пути одновременно и в свойствах проекта и в makefile, а не поочереди.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 1:18 PM, dimka76 said:

Убрать пути одновременно и в свойствах проекта и в makefile, а не поочереди.

Без указания путей - первое, что пробовал, ошибка: не находит makefile, а сборка прекращается.

Сейчас на всякий случай попробовал и одновременно указать ключ '-f \a\makefile' , а в makefile '\a\main.c' , затем '-f a\makefile' с 'а\main.c' 

Все варианты, кроме ключа '-f d:\a\makefile', дают ошибку:

mingw32-make: makefile: No such file or directory

mingw32-make: *** No rule to make target 'makefile'. Stop.

"mingw32-make -f makefile" terminated with exit code 2. Build might be incomplete.

С ключом '-f d:\a\makefile' и путем к main.c в теле makefile, отличным от d:\a\, ошибка

mingw32-make -f "d:\\a\\makefile"

mingw32-make: *** No rule to make target 'main.c', needed by 'main.o'. Stop.

"mingw32-make -f d:\a\makefile" terminated with exit code 2. Build might be incomplete.

Что-то здесь не так, может, какие-то тонкости в создании проекта...

Прицепил архив проекта a.zip

а пример пытался разобрать отсюда: https://narodstream.ru/c-urok-22-ustanavlivaem-eclipse-chast-1/

где в старой версии все без каких-либо сложностей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 4:19 PM, bvn123 said:

Без указания путей - первое, что пробовал, ошибка: не находит makefile, а сборка прекращается.

Собрал проект аналогичный вашему. С самой последней версией Эклипс и MinGW

Все работает )))

Проект в прикрепленном файле. Вы можете его импортировать в свое рабочее пространство.

hello_world.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 6:21 PM, dimka76 said:

Собрал проект аналогичный вашему. С самой последней версией Эклипс и MinGW

Спасибо, проект из Вашего архива работает, пытаюсь разобраться, в чем отличие.

Файлы main.c и makefile те же.

Пока понял, что указание папок '(in .settings)' и '(in a)', добавленное к именам проекта средой, намекает, что проект вне workspace, а под workspace подразумевается созданная при установке Eclipse папка \eclipce-workspace\ - она у меня совсем в другом месте.

Получается, что проект надо либо создавать в \eclipce-workspace\, либо прописывать полные пути - непривычное требование.

Еще интересно: при импорте из архива в проект свойства проекта на вкладке С/С++ Build не сохранились, понадобилось вводить вручную команду 'mingw32-make', её аргументы '-f makefile' и сбрасывать/устанавливать некоторые галочки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/7/2023 at 8:53 PM, bvn123 said:

Получается, что проект надо либо создавать в \eclipce-workspace\, либо прописывать полные пути - непривычное требование.

Разместил workspace в одном месте, а проект в другом месте ( не внутри workspace).

Также все работает.

В строке Build Command вам не надо никакие аргументы вводить. Просто mingw32-make. И все.

image.png.9b15e246db01daefa86f5d62f4899cc9.png

On 1/7/2023 at 8:53 PM, bvn123 said:

Еще интересно: при импорте из архива в проект свойства проекта на вкладке С/С++ Build не сохранились, понадобилось вводить вручную команду 'mingw32-make', её аргументы '-f makefile' и сбрасывать/устанавливать некоторые галочки.

В моем примере там и не было команды mingw32-make -f makefile.

Там и было то, что стояло по умолчанию - make. И все. Я сюда никакие правки не вносил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...