реклама на сайте
подробности

 
 
51 страниц V  « < 22 23 24 25 26 > »   
Reply to this topicStart new topic
> Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем
Сергей Борщ
сообщение Jan 13 2011, 13:20
Сообщение #346


Гуру
******

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



QUOTE (AndOr @ Jan 13 2011, 13:30) *
В Path and symbols все пути к CodeSourcery прописаны
А в path виндовса прописан путь к arm-none-eabi-gcc.exe? Ведь эклипса вызывает ее без указания абсолютного пути (во всяком случае именно так у вас прописан вызов в окне Discovery в строке Compiler invocation command. Попробуйте запустить arm-none-eabi-gcc.exe из командной строки - найдется?
QUOTE (AndOr @ Jan 13 2011, 13:30) *
т.е. мне нужно для совместимости _STDINT_EXP(INT_MAX) == 0x7fffffffL где-то указать ???
Нет, там все нормально. Да, что-то я затупил. Как точно выглядит жалоба?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 13 2011, 15:26
Сообщение #347


фанат дивана
******

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



Цитата(AndOr @ Jan 13 2011, 15:12) *
Это я пробовал, поверьте, перебрал фсе 7 вариантов.

А если ткнуть правой кнопкой мыши на название файла, выбрать Properties, и там выбрать вкладку "Recource", то
- какая кодировка указана? (в строке "inherited from container:xxx"_)?
- что будет, если отметить "Other" и выбрать UTF-8 (вроде она)?
Что касаемо notepad-а, то он определяет UTF-8 по специальному заголовку, который все остальные редакторы смело отрезают.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AndOr
сообщение Jan 13 2011, 15:44
Сообщение #348


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 10-03-09
Из: Всея Руси
Пользователь №: 45 907



Спасибо всем.
Половина одной проблемы решилась:
При инсталяции CodeSourcery Lite в path прописывается только C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin;
Для того, что бы инклюды видели не только arm-none-eabi-xxx, но и Ecliplse, надо добавить C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; и не забыть перезагрузить Eclipse, т.к. похоже path цепляется один раз при загрузке.
Забавно, но синтаксис typedef-ов в самом stdint-gcc.h светится как надо, а в main.c серамно никак...
Доеду до дома, попробую еще и C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; в path прописать...


--------------------
Чужие ошибки ничему не учат, гораздо интереснее наделать своих.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 13 2011, 18:42
Сообщение #349


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(AndOr @ Jan 13 2011, 20:44) *
При инсталяции CodeSourcery Lite в path прописывается только C:\Program Files\CodeSourcery\Sourcery G++ Lite\bin;

И этого достаточно.
Цитата(AndOr @ Jan 13 2011, 20:44) *
Для того, что бы инклюды видели не только arm-none-eabi-xxx, но и Ecliplse, надо добавить C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; и не забыть перезагрузить Eclipse, т.к. похоже path цепляется один раз при загрузке.
Доеду до дома, попробую еще и C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; в path прописать...

Это всё лишнее. Путь к arm-none-eabi-xxx уже есть, а нужные инклуды эклипс вычисляет по discovery, она там для этого и нужна. И это нужно только для правильного "показывания" проекта и навигации по нём в среде. Что же касается компилятора, то он сам знает где искать свои инклуды. У меня всё так и работает и под Windows и под Linux на очень многих машинах. Результат абсолютно идентичен.
Кстати, что запускаете для линковки? ld или gcc (g++). Лучше второе, здесь уже писали почему.
Go to the top of the page
 
+Quote Post
AndOr
сообщение Jan 14 2011, 11:05
Сообщение #350


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 10-03-09
Из: Всея Руси
Пользователь №: 45 907



И снова драсьте! Всем спасибо за подсказки.

Цитата
А в path виндовса прописан путь к arm-none-eabi-gcc.exe? Ведь эклипса вызывает ее без указания абсолютного пути (во всяком случае именно так у вас прописан вызов в окне Discovery в строке Compiler invocation command. Попробуйте запустить arm-none-eabi-gcc.exe из командной строки - найдется?

Находится и версию правильно выдает, а иначе проект не компилился бы.

Цитата
Да, что-то я затупил. Как точно выглядит жалоба?

Жалоба конечно мелкая, но дело же в принципе. (Кстати со sprintf это действительно я сам ступил, а IAR проглотил... +1 в пользу GCC)
Собсно жалоба вот:
Прикрепленное изображение

Если открываю в окне системные инклюды от CodeSourery Lite, например stdint-gcc.h, то там все typedef'ы светятся, а вот в *.c и *.h в проекте не светятся, причем ТОЛЬКО typedef'ы.
При нажатии F3 на uint32_t например, пишет внизу, что Eclipse не находит этот символ в индексе. wacko.gif
Странно, что редактор понимает что происходит инициализация переменной new_x, т.е. то, что uint32_t это typedef редактор знает и переменную раскрашивает.

Цитата
Это всё лишнее. Путь к arm-none-eabi-xxx уже есть, а нужные инклуды эклипс вычисляет по discovery, она там для этого и нужна. И это нужно только для правильного "показывания" проекта и навигации по нём в среде.

У меня почему-то Eclipse не находил stdint.h, stdbool.h и т.д., пока не прописал C:\Program Files\CodeSourcery\Sourcery G++ Lite\arm-none-eabi\include; в PATH.
Теперь, как видите, все нашлось, правда прописка C:\Program Files\CodeSourcery\Sourcery G++ Lite\lib\gcc\arm-none-eabi\4.5.1\include; раскрасить typedef'ы не помогла laughing.gif

Тут весь воркспейс Прикрепленный файл  te_lcd_eclipse_v1.7z ( 653.51 килобайт ) Кол-во скачиваний: 82
с импортированным проектом от Terraelectronica, у кого есть время и желание - гляньте плз, на предмет раскраски синтаксиса.

З.Ы.
Что то не пойму, как указывать автора в шапке вставляемой цитаты?


--------------------
Чужие ошибки ничему не учат, гораздо интереснее наделать своих.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 14 2011, 12:12
Сообщение #351


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



У меня Ваш воркспейс работает и всё подсвечивает, но не сразу всё получилось.
Попробуйте сделать Refresh из контекстного меню проекта (или F5).
Чтобы не делать это всякий раз вручную сделайте Window->Preferences->General->Startup and Shutdown->Refresh workspace on startup и Window->Preferences->General->Workspace->Refresh automatically
Go to the top of the page
 
+Quote Post
AndOr
сообщение Jan 14 2011, 22:25
Сообщение #352


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 10-03-09
Из: Всея Руси
Пользователь №: 45 907



Refresh не помог (это я пробовал в числе первых).
Авторефреш включил - без эффекта, хотя если будет "отжиматься" FAQ из этой темы, желательно это упомянуть, рядом с "отключить автобилд по сохранению".
Пробежал практически по всем настройкам проекта и нажал Restore Defaults + Apply - без эффекта.
Потом, тоже самое по преференсам - без эффекта.
Установил снесённый (недавно!) за ненадобностью тулчейн от Yagarto - без эффекта, хотя проект компилит как и CodeSourcery.

Жду любых идей... sad.gif

Вопрос не в тему:
Какой командой в мейкфайле попросить тулчейн для начала представиться, чтоб из консоли было сразу понятно?
Спрашиваю, потому что CodeSourcery на флаг -v (из командной сроки) выдает много лишнего, Yagarto по-меньше, но серамно не мало.


Попробовал молотком - создал файл typedefs.h к проекту:

#ifndef __TYPEDEFS_H__
#define __TYPEDEFS_H__
typedef unsigned long uint32_t; /* 32-bit unsigned data */
#endif /* !__TYPEDEFS_H_ */

Ну конечно uint32_t сразу засветился, другие типы uint16_t и т.д. ессно не светятся.
Значит у меня Eclipse действительно не может подрубить эти символы в индекс из системных инклюдов на которые ссылаются заглавные stdint.h, stdbool.h и т.п. без особых на то распоряжений (настроек)... Только как заставить, не пойму...

Сообщение отредактировал AndOr - Jan 14 2011, 22:34


--------------------
Чужие ошибки ничему не учат, гораздо интереснее наделать своих.
Go to the top of the page
 
+Quote Post
AndOr
сообщение Jan 15 2011, 17:39
Сообщение #353


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 10-03-09
Из: Всея Руси
Пользователь №: 45 907



Поскольку метод молотка работает - стал разбираться дальше:
Когда в Include Browser отключил "Hide System Includes" и "Hide Includes From Inactive Code".
Разглядел, что stdint.h сам следом подключает stdint-gcc.h, который почему-то засерен и значок его перечеркнут, т.е. он оказался инклюдом "From Inactive Code".
По методу молотка добавил #include <stdint-gcc.h> рядом с #include <stdint.h> и вуаля, все засветилось!!!!

Не удержался и удалил строку #include <stdint-gcc.h>, в результате typedef'ы продолжали высвечиваться.
Дописал еще одну функцию, откомпилил, загрузил - прога работает...
Перезапустил Eclipse... все typedef'ы типа uint32_t опять погасли. wacko.gif

Сделал следующее в преференсах Эклипсы в Indexer'е:
Прикрепленное изображение

Почему по факту использующийся stdint-gcc.h оказался "From Inactive Code" и нет попадает в индексы?! angry.gif
Сегодня это stdint-gcc.h, а завтра будет другой хедер засерен, что же так и рыться каждый раз...

Сообщение отредактировал AndOr - Jan 15 2011, 18:29


--------------------
Чужие ошибки ничему не учат, гораздо интереснее наделать своих.
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Jan 26 2011, 16:09
Сообщение #354


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Добавлю вопросец, возможно глупый, но все-таки. Как удалить установленное дополнение?
Я пока вижу только два варианта:
1. Откат к предыдущей конфигурации. Подходит только, если речь идет о только что установленном плагине.
2. Ручное удаление файлов плагина из папки эклипса с последующим запуском ./eclipse --clean. Как-то не очень изящно.
Может я что-то не вижу очевидного в меню?

UPD: нашел!
help->about eclipce, кнопка "installation details" и там можно удалить установленные дополнения.
Как-то, на мой взгляд, не туда это поместили, ну да ладно.

Сообщение отредактировал IgorKossak - Jan 26 2011, 18:20
Причина редактирования: Удаление ненужных пробельных строк
Go to the top of the page
 
+Quote Post
adax
сообщение Feb 2 2011, 11:51
Сообщение #355


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871



Как в Еклипсе скопировать проект (создать аналогичный с другим именем)?
Пробовал разные варианты создания нового проекта и экспорта-импорта - либо не копируется часть настроек, либо нарушается структура папок
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 2 2011, 11:59
Сообщение #356


Гуру
******

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



QUOTE (adax @ Feb 2 2011, 13:51) *
Как в Еклипсе скопировать проект (создать аналогичный с другим именем)?
Я просто копирую папку проекта и изменяю название в файлах .cproject и .project


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 2 2011, 12:17
Сообщение #357


фанат дивана
******

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



Цитата(Сергей Борщ @ Feb 2 2011, 16:59) *
Я просто копирую папку проекта и изменяю название в файлах .cproject и .project

+1 wink.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 2 2011, 13:07
Сообщение #358


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(adax @ Feb 2 2011, 13:51) *
Как в Еклипсе скопировать проект (создать аналогичный с другим именем)?

Копируете папку проекта под левым именем в воркспейс.
File->Import...->General->Existing Project into Workspace
Когда появится новый проект в воркспейсе правым кликом на нём в контекстном меню выбрать Rename и задать нужное название, папка переименуется автоматически.
Править вручную настроечные файлы небезопасно да и просто неприлично wink.gif .
Go to the top of the page
 
+Quote Post
adax
сообщение Feb 2 2011, 13:42
Сообщение #359


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871



Цитата(Сергей Борщ @ Feb 2 2011, 14:59) *
Я просто копирую папку проекта и изменяю название в файлах .cproject и .project

Спасибо!!
Странно что разработчики Еклипса такую фичу не предусмотрели

Цитата(IgorKossak @ Feb 2 2011, 16:07) *
Копируете папку проекта под левым именем в воркспейс.
File->Import...->General->Existing Project into Workspace
Когда появится новый проект в воркспейсе правым кликом на нём в контекстном меню выбрать Rename и задать нужное название, папка переименуется автоматически.
Править вручную настроечные файлы небезопасно да и просто неприлично wink.gif .


А таким способом не получается, почему-то пытается искать архивы(хотя выбрано именно Existing Project into Workspace), предлагает создать папку... sad.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 2 2011, 14:05
Сообщение #360


фанат дивана
******

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



Сейчас попробовал ещё один способ, прямо в эклипсе жмём правую кнопку мыши на имени проекта, выбираем "Copy". Потом ПКМ в пустом месте - "Paste". Эклипс запрашивает имя для нового проекта. И телемаркетsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

51 страниц V  « < 22 23 24 25 26 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 13:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016