|
|
  |
Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем |
|
|
|
Feb 10 2010, 11:51
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Весь уже изгуглился, не нашёл нормального решения. Как прилинковывать ресурсы с относительным путём? То есть, у меня есть папка PROJECTS, в ней папка, скажем LIBS, общая на все проекты, и папки проектов. Хочу в каждый проект прилинковать папку ../LIBS, но никак не изобрету как. Через переменную среды (Path variable) - почти нормальное решение, но она требует абсолютного пути, а они разные на разных машинах. Поделитесь опытом, кто как делает? И вообще, никак не вырисовывается у меня в голове стройная картина, как же использовать эту эклипсу  Вот что это за воркспейcы такие? Где их место в моей иерархии? Как мне делать, по воркспейсу на каждый проект, или по воркспейсу на каждое семейство контроллеров?
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 10 2010, 14:47
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(AHTOXA @ Feb 10 2010, 13:51)  То есть, у меня есть папка PROJECTS, в ней папка, скажем LIBS, общая на все проекты, и папки проектов. Хочу в каждый проект прилинковать папку ../LIBS, но никак не изобрету как. Через переменную среды (Path variable) - почти нормальное решение, но она требует абсолютного пути, а они разные на разных машинах. Project->Propertities->C/C++ General-> Paths and symbols->Include->GNU C/C++ ->../../common и снять галочку is a workspace path Цитата(AHTOXA @ Feb 10 2010, 13:51)  Как мне делать, по воркспейсу на каждый проект, или по воркспейсу на каждое семейство контроллеров? скорее первое. Если в проекте несколько контроллеров и всякие писишные утилиты - их в этот же воркспейс.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 10 2010, 19:03
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Сергей Борщ @ Feb 10 2010, 19:47)  Project->Propertities->C/C++ General-> Paths and symbols->Include->GNU C/C++ ->../../common и снять галочку is a workspace path Да, сейчас так и сделано. Но в этом случае эклипс не находит функции, находящиеся в ../../common. И ошибки в этих файлах не показывает. Хотя может это у меня что-то просто сбилось. Цитата скорее первое. Если в проекте несколько контроллеров и всякие писишные утилиты - их в этот же воркспейс. Если отдельный воркспейс на каждый проект, то приходится его (воркспейс) каждый раз заново отстраивать. Тоже не фонтан... Ох, как же трудно менять средства разработки
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 10 2010, 19:45
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(AHTOXA @ Feb 10 2010, 21:03)  Да, сейчас так и сделано. Но в этом случае эклипс не находит функции, находящиеся в ../../common. И ошибки в этих файлах не показывает. У меня функции находит. Ошибки не показывает, это да. Цитата(AHTOXA @ Feb 10 2010, 21:03)  Если отдельный воркспейс на каждый проект, то приходится его (воркспейс) каждый раз заново отстраивать. Тоже не фонтан... Так это... один раз настроить, File->Export->General->Preferences Создаем новый воркспейс, File->Import->General->Preferences. В той же папке, в которой создали воркспейс создаем папку проекта, копируем в него из существующего .project, .cproject, makefile, редактором в первых двух правим название проекта, File->Import->Existing projects into workspace. Все.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 10 2010, 20:30
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Сергей Борщ @ Feb 11 2010, 00:45)  У меня функции находит. Ошибки не показывает, это да. Хм... Вот этим мне и не нравится эклипс - слишком он многогранен (если не сказать - монструозен  ), и потому плохо предсказуем. По ошибке я нашёл как переходить, правая кнопка мыши - open external что-то там. А вот функции находит лишь частично, не подчёркивает их красненьким, то есть знает про них, но по Ctrl+click - не открывает. За способ копирования проектов - большое спасибо, завтра испытаю. Цитата(IgorKossak @ Feb 11 2010, 00:52)  Если папки типа ../../common добавить к проекту как Linked ресурс, то и функции найдёт и ошибки покажет. Так не получается, в этом и беда! Требует абсолютный путь. Я уж что только не подсовывал ему в .project. Не понимает.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 11 2010, 15:13
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(AHTOXA @ Feb 11 2010, 01:30)  функции находит лишь частично, не подчёркивает их красненьким, то есть знает про них, но по Ctrl+click - не открывает. Разобрался. Видимо эклипс немного иначе парсит исходники. Код namespace OS { template <> OS_PROCESS void TSensorsProcess::Exec() { adc_init(); // <-- не находит ::adc_init(); // <-- а вот так - находит! ... То есть, он считает, что из пространства имён видны только имена, объявленные в этом же пространстве имён (мощно задвинуто  ). А глобальные - не видны. Я думаю, что я смогу с этим жить  А ещё у меня вот такой вопрос. Есть ли возможность назначить make-target-ам горячие клавиши? Или как-то иначе повесить вызов, скажем, make reset на кнопку?
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|