Непомнящий Евгений
Jun 9 2011, 10:55
А можно ли заставить индексатор эклипса считать *.c файлы c++-ными? Пробовал сделать это на вкладке с++ general/file types - не помогает.
Просто есть файлы с расширением .c, которые по факту содержат c++ и хотелось бы обойтись без переименования...
John Silver
Jun 9 2011, 11:24
Есть еще вкладка General - Editors - File Associations.
Наверно и там и там надо прописать
Непомнящий Евгений
Jun 9 2011, 11:38
Цитата(John Silver @ Jun 9 2011, 15:24)

Есть еще вкладка General - Editors - File Associations.
Наверно и там и там надо прописать
Насколько я понимаю, редактор на с и с++ один и тот же. По крайней мере у *.c ассоциация - c/c++ text editor
John Silver
Jun 9 2011, 12:01
Там же где-то и названия редакторов прописаны.
У меня были похожие проблемы с vxml. Помнится я прописывал в двух местах, а в каких непомню.
Надо попробовать и отписать о результате.
PS На каждый файл можно повесить несколько редакторов, и один из них необходмо указать дефолтным.
Непомнящий Евгений
Jun 10 2011, 04:03
Дык я пробовал - не помогает.
К тому ж полагаю, что дело не в редакторе, а в индексаторе...
давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную - бесит до невозможности, в винде такого нет, после останова отладки список очищается от неактивных сеансов... вроде даже я уже спрашивал и ктото отвечал - найти не могу.
вот картинка моего горя
AHTOXA
Jun 19 2011, 16:11
Закрыть ненавистное окошко или уменьшить его размер до минимума?
Цитата(AHTOXA @ Jun 19 2011, 20:11)

Закрыть ненавистное окошко или уменьшить его размер до минимума?

по воскресениям издеватся значит??? лучше пива бы предложил чем глумится!
закрыть нельзя - я там трассу стека смотрю!
AHTOXA
Jun 19 2011, 17:17
Ну, как говорится, чем уж богаты

Больше идей нет.
А пива - это запросто:
Цитата(AHTOXA @ Jun 19 2011, 21:17)

Ну, как говорится, чем уж богаты

Больше идей нет.
А пива - это запросто:

осталось мело4ь - проложить пивопровод от Уфы до Щербинки

... тут ведь как вы понимаете главное чтоб подряд на прокладку в транснефть не ушел - будет "строительство алимпияды в сочи"
AHTOXA
Jun 19 2011, 18:06
Проще танкер тогда уж. Маленький такой танкерчик
Цитата(klen @ Jun 19 2011, 19:49)

давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную...
У меня так же.
Чтобы не накапливались я делаю Relaunch завершенного сеанса. Но все равно время от времени приходится вручную окошко чистить.
mdmitry
Jun 20 2011, 06:50
Цитата(klen @ Jun 19 2011, 19:49)

давно хотел спросить, мелкий раздражающий косяк - после завершения отладки в окне Debug остаются списка завершеныне сеансы - они накапливаются - приходится удалять в ручную - бесит до невозможности, в винде такого нет, после останова отладки список очищается от неактивных сеансов... вроде даже я уже спрашивал и ктото отвечал - найти не могу.
Для SDK Xilinx при отладке Microblaze тоже самое, вне зависимости от ОС (winxp, Debian 6.0.1a). Убивал с помощью remove all terminated из контекстного меню окна Debug.
нашел в настройках педаль;
window->preferences->Run/Debug->Launching->General Options->Remove terminated launches when a new launch is created
однако педаль не работает

причем интересно не работает - при перезапуске внешнего тулса (в моем случае это openocd) еклипса удалет старую запись при старте нового сеанса а для отладчика это не происходит - мож веревки за которые дергать из CDT гдето есть?
светлые головы......еще идеи есть?
Вопрос бывалым Eclipse'оводам: пробовали уже eclipse 3.7 indigo? Перешли на него или продолжаете работать в helios?
Дело в том, что решил - раз уж только начинаю изучать eclipse и gcc, то можно ставить последний eclipse. Вроде нормально всё... было

В общем у меня сейчас эклипс бесится, постоянно (каждые 2 секунды) выводит окно "Updating windows - updating view contributions". Вроде как обновляет виды окон. Работать невозможно, всё висит. Вот думаю - даже если это поборю, стоит наверное ждать других весёлых багов? Или всё же установка indigo - правильный выбор?
IgorKossak
Jul 20 2011, 21:39
Работаю с Indigo уже давно (правда без отладки), нареканий нет.
Аналогично, серьезных проблем не обнаружил, работаю без дебага. Разве что Code Analysis сносит башню от плюсового кода с активным использованием шаблонов и он заливает весь код ошибками.
Коллега настраивал отладку с gdb - были какие-то сложности, т.к. настройка отличалась от предыдущих версий, но я не сильно вникал, да и вроде бы все разрешилось в итоге.
1. Не могу добавить исходник в проект. Раньше этот исходник был в проекте. Кажется я применил к нему Exclude from build .... , и теперь не удается заставить Еклипс его снова увидеть (Делал Refresh Copy/Paste , Import)
Версия Еклипса 3.5.
2. Вообще хочется перейти на работу с самописным makefile (неуправляемость Еклипса сильно раздражает), можно ли как нибудь конвертировать проект с автоматическим makefile в автономный. Система разработки SoftConsole от Астеl. настроек куча, совсем с нуля makefile писать пока квалификации не хватает.
adax
Зайдите в свойства проекта, C/C++ General -> Paths and Symbols, справа первая вкладка Source Location, проверьте по вашему проекту состояние Filter(...) - наверное ваши файлы туда вбиты и поэтому они не видны в Project Explorer.
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?
Цитата(Aaron @ Aug 9 2011, 14:09)

adax
Зайдите в свойства проекта, C/C++ General -> Paths and Symbols, справа первая вкладка Source Location, проверьте по вашему проекту состояние Filter(...) - наверное ваши файлы туда вбиты и поэтому они не видны в Project Explorer.
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?
Спасибо, помогло.
Цитата(Aaron @ Aug 9 2011, 14:09)

adax
А в чём проблема в существующем проекте взять автогенерируемый makefile, в настройках отключить автогенерацию, и дальше makefile править по мере необходимости руками?
Спасибо.
Я так и пробовал, но сходу не получилось.
У меня автоматически создаются два макефайла для Debug и Release и храняться соответственно каждый в своей папке.
Перенос их в корень проекта какие-то связи нарушает, буду пробовать дальше.
Граждане, а у вас в Eclipse/CDT тоже така кракозябра или кто знает как её бороть?
Поделитесь, пож.
(WinXP/Indigo)
AHTOXA
Aug 18 2011, 10:19
Нет, не встречал такого. Возможно компилятор выдаёт какие-то ESC-последовательности, для раскраски. Что за компилятор?
Цитата(AHTOXA @ Aug 18 2011, 17:19)

Что за компилятор?
gcc 4.3.4 20090804 (release) 1
(cygwin)
AHTOXA
Aug 19 2011, 02:39
Не встречался с таким. Попробуйте скомпилить что-нибудь в консоли. Или поменяйте компилятор

ЗЫ. Погуглил - нашёл упоминания некоего colorgcc. Возможно это он.
Цитата(AHTOXA @ Aug 19 2011, 09:39)

Не встречался с таким. Попробуйте скомпилить что-нибудь в консоли. Или поменяйте компилятор

ЗЫ. Погуглил - нашёл упоминания некоего colorgcc. Возможно это он.
Не понял сути намёка. И в консоли, и под eclipse компилируется всё нормально (баги-глюки - оффтопик здесь).
Проблема - в юзверь-интерфейсе эклипса.
Хочу тултипы (и ашипке) видеть на нормальном (желательно аглицком!) язЫке.
(Мало ли чего кто хочет, правда? Вопрос был в другом: У Вас так же хрюово, як у мя, или всё "тип-топ"?)
У меня эклипс - на двух компах, на одном русская XP, на другом - панъевро/english. На обоих - одинаковая хрень.
[Скрншот - в студию, если можно]
ЗЫ: colorgcc - другой опер.
AHTOXA
Aug 20 2011, 07:33
Никаких намёков, говорю прямым текстом - скорее всего это не эклипса выдаёт эти символы, а компилятор.
Проверить - запустить make из консоли, и посмотреть на выдачу.
У меня лично ничего такого не наблюдается. Правда у меня Helios.
IgorKossak
Aug 20 2011, 10:13
svss, научитесь грамотно по русски писать. Это последнее предупреждение.
Модератор.
Теперь по делу. Вы ничего с настройками фонтов или кодовых таблиц не намудрили? Комбинация символов, выделенная Вами, должна быть всего навсего апострофом, (точнее, открывающей и закрывающей одиночной кавычкой). У меня всё нормально отображается и под Win XP и под Linux.
Цитата(IgorKossak @ Aug 20 2011, 17:13)

Вы ничего с настройками фонтов или кодовых таблиц не намудрили? Комбинация символов, выделенная Вами, должна быть всего навсего апострофом, (точнее, открывающей и закрывающей одиночной кавычкой). У меня всё нормально отображается и под Win XP и под Linux.
Спасибо, именно от этом был вопрос. С настройками я ничего не намудрил просто потому, что не мудрил.
Поиграл в project->properties с кодовыми страницами - не помогло.
Поглядел window->preferences->(General, C++ appearance, Build Console) - ничего подходящего.
Ладно, пусть пока так.
Поскольку кракозябра - в eclipse console и в tooltips editor,
проблема, вероятно, у eclipse около перехватчика stdout. (Известно, что их там есть, остаётся отыскать мою)
-- на другой день --
(solved)Решение -
редакция eclipse.iniНужно добавить строчку:
-Dfile.encoding=UTF-8АНТОХА: отдельное спасибо за подсказку.
У меня возникла следующая проблемма при отладке(eclipse Helios Service Release 2, zylinCDT, sourcery g++ lite, чип lm3s6950). Если при запуске дебага в теле программы отсутствуют breakpoints, то отладка нормально останавливается на main(). При этом gdb выдает следующее:
Код
target remote localhost:3333
main () at main.c:27
27 GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);
monitor reset halt
500 kHz
JTAG tap: lm3s.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Only resetting the Cortex-M3 core, use a reset-init event handler to reset any peripherals
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
monitor soft_reset_halt
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
thbreak main
Hardware assisted breakpoint 1 at 0xf6: file main.c, line 25.
continue
Temporary breakpoint 1, main () at main.c:25
25 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
Если же в теле программы (все равно в каком месте) поставить брекпоинты, то программа начнет выполнятся не останавливаясь на main(), до тех
пор, пока не дойдет до брекпоинта. При этом лог gdb немного отличается:
Код
target remote localhost:3333
main () at main.c:27
27 GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);
monitor reset halt
500 kHz
JTAG tap: lm3s.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Only resetting the Cortex-M3 core, use a reset-init event handler to reset any peripherals
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
monitor soft_reset_halt
requesting target halt and executing a soft reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x000001a0 msp: 0x2000fffc
thbreak main
Hardware assisted breakpoint 1 at 0xf6: file main.c, line 25.
continue
Program received signal SIGINT, Interrupt.
main () at main.c:25
25 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
Note: automatically using hardware breakpoints for read-only addresses.
Собственно само отличие в следующих двух строках:
Код
Program received signal SIGINT, Interrupt.
Note: automatically using hardware breakpoints for read-only addresses.
Скрипт инициализации следующий:
Код
target remote localhost:3333
monitor reset halt
monitor soft_reset_halt
thbreak main
continue
Хотелось бы разобраться, это мой косяк где-то присутствует или такое поведение имеет место быть при отладке
Всем привет.
Win7 x64 дома, win7 x32 на работе.
На работе с эклипсой проблем нет.
Решил поставить дома. Всё делал также (только яву скачал для 64 бит), всё вроде стоит правильно. Но почему то выдаёт такие вот ошибки (см. скрин). То есть не подсасывает имена регистров и типдефайны в одном файле...
Никогда с таким не сталкивался и даже не знаю куда посмотреть. Тем более, что на работе тот же код компилится. То есть косяк явно не в нём а в конкретном экземпляре клипсы.
Да, на работе клипсу ставил 5 месяцев назад. Версия GCC с тех пор, вроде как, не изменилась, а вот ява уже 7-я вышла и сама сборка клипсы могла поменяться. Не может быть в этом дело?
ПС. io, конечно, подключён:
#include <stdint.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
IgorKossak
Sep 6 2011, 17:04
Смотреть надо в свойствах проекта C/C++ General -> Paths and Symbols -> Includes.
Скорее всего там остались пути, которые были на том компе, откуда Вы взяли проект. Их надо очистить и регенерировать.
На первом скриншоте есть кнопка Clear. Нажмите её, затем нажмите кнопку Apply и OK.
Затем пересоберите проект заново.
Сделал очистку. Теперь у меня 80 таких эрроров
Содержание C/C++ General -> Paths and Symbols -> Includes прилагаю. На первый взгляд всё соответствует истине...
IgorKossak
Sep 7 2011, 09:09
У Вас на втором скриншоте указаны три пути. Проверьте, лежат ли по этим путям файлы, которые Вы включаете в исходники (с учётом путей).
У меня нет этого тулчейна, поэтому проверить не смогу.
Попробуйте сделать также Refresh и Index->Rebuild в свойствах проекта. Также полезно сделать Index->Search for Unresolved Includes.
Проверил на работе - пути все те же и всё работает...
Рефреши сделаю, когда домой доберусь.
IgorKossak
Sep 7 2011, 16:24
Есть ещё одна полезная фича: Window -> Show View -> Include Browser.
Перетащите в его окно любой файл исходника из менеджера проектов и смотрите до каких хедеров невозможно добраться.
После долгого сексу перенёс клипсу по адресу C:\Program Files (x86)\eclipse и всё заработало...
Раньше была в C:\DISTR\eklips\eclipse-cpp-indigo-incubation-win32-x86_64\eclipse
В очередной раз убеждаюсь, что клипса к путям очень чувствительна...

А как в клипсе объявить массив в епроме?
Сергей Борщ
Sep 10 2011, 07:32
QUOTE (Dikoy @ Sep 10 2011, 05:21)

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

Смею предположить, что это не Эклипса виновата, а чудеса 64-разрядной семерки.
QUOTE (Dikoy @ Sep 10 2011, 05:21)

А как в клипсе объявить массив в епроме?
В Эклипсе - никак. Эклипса - всего лишь очень умный текстовый редактор. А вот в avr-gcc и его виндовой сборке WinAVR достаточно просто:
CODE
#include <avr/eeprom.h>
uint8_t EEPROM test[4] = {1,2,3,4};
Но это уже вопрос для другой ветки.
Ах вот оно что, надо было инклюд подключить...

В IAR проще: __eeprom test[4] = {1,2,3,4}; И всё.
Ну да ладно.
Подскаите, как в клипсе сделать поиск по всему проекту?
Вот есть функция или переменная. Надо найти все её упоминания. В ИАРе это Ctrl+Shift+F и всё, вот оно. В клипсе, насколько понял, это Ctrl+H. Но то ли лыжи не едут, то ли я не знаю...
Выбрал все типы файлов в которых искать. Поставил галку на воркспейс. В текстовом поиске ещё что-то находится, отдалённо напоминающее, а вот в закладке C/C++ я не могу найти ничего, хотя знаю, что переменная есть в нескольких файлах.
Что я делаю не так?..
AHTOXA
Sep 21 2011, 04:34
Цитата(Dikoy @ Sep 21 2011, 08:24)

Что я делаю не так?..
Тоже замечал, что поиск C/C++ работает странно - то находит, то нет. Поэкспериментировал и выяснил вот что: результаты поиска зависят от выделенного элемента в Project Explorer-е. Для того, чтобы всё нашлось, необходимо перед нажатием Ctrl+H ткнуть в Project Explorer-е на название проекта.
Причём это надо сделать только один раз, потом ищет нормально отовсюду.
Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.
Сергей Борщ
Oct 3 2011, 05:58
QUOTE (Dikoy @ Oct 3 2011, 07:08)

Как в эклипсе посмотреть сколко флеша/еепрома занято после компиляции? Наверняка ведь отчёт как-то включается.
Сама по себе Эклипса делать этого не умеет. Возможно, это умеет делать плагин под конкретный компилятор под конкретный проц. Универсальное решение для любого gcc-компилятора - в makefile после сборки .elf вызывать утилиту size:
CODE
TARGET = avr-
SIZE = $(TARGET)size
.......
all: create_dirs $(ELF) $(HEX) $(EEP) $(LSS) size
........
size: $(ELF)
@$(SIZE) -C --mcu=$(MCU) $<
.
И смотреть результаты на вкладке Console:
CODE
**** Build of configuration Default for project Stepper m8 ****
make all
avr-gcc.exe (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
AVR Memory Usage
----------------
Device: atmega8
Program: 4332 bytes (52.9% Full)
(.text + .data + .bootloader)
Data: 153 bytes (14.9% Full)
(.data + .bss + .noinit)
EEPROM: 24 bytes (4.7% Full)
(.eeprom)
А вот такой дурацкий вопрос: вертикальные блоки выделять как-нибудь можно?
IgorKossak
Oct 3 2011, 07:45
Alt-Shift-A или кнопкой Toggle Block Selection Mode на панели.
А я всё в меню искал

Спасибо!
injen-d
Oct 3 2011, 18:36
Цитата(AHTOXA @ Oct 3 2011, 11:07)

А я всё в меню искал

Спасибо!
Если нажмёте Ctrl+Shift+L, появится окно со списком горячих клавиш. Там немало полезного.
Цитата(Aaron @ Jul 20 2011, 17:33)

Вопрос бывалым Eclipse'оводам: пробовали уже eclipse 3.7 indigo? Перешли на него или продолжаете работать в helios?
Дело в том, что решил - раз уж только начинаю изучать eclipse и gcc, то можно ставить последний eclipse. Вроде нормально всё... было

В общем у меня сейчас эклипс бесится, постоянно (каждые 2 секунды) выводит окно "Updating windows - updating view contributions". Вроде как обновляет виды окон. Работать невозможно, всё висит. Вот думаю - даже если это поборю, стоит наверное ждать других весёлых багов? Или всё же установка indigo - правильный выбор?
Если вдруг у кого такая же проблема встречается (а судя по поиску в инете частенько бывает), кажется я нашёл причину.
У меня стоит 2 монитора на карточке Nvidia, запущен nview. При отключении nview проблема не появляется. Всем удачного программинга
А в чём может быть юмор?
Перенёс проект с одного компа на другой. Проект рабочий - компилится и работает в железе. Версии клипсы и GCC одинаковые.
На новом компе сделал импорт и мне с порога выдало кучу ошибок в мейкфайле:
http://s44.radikal.ru/i103/1110/dd/21a18b236592.pngПонимаю, что мейкфайл врядли по дороге протух. Значит что-то с настройками. Что?
Может ли быть причина в обновлении, что она с утра подсосала?..
DmitryM
Oct 24 2011, 16:58
Цитата(Dikoy @ Oct 24 2011, 20:05)

А в чём может быть юмор?
Перенёс проект с одного компа на другой. Проект рабочий - компилится и работает в железе. Версии клипсы и GCC одинаковые.
На новом компе сделал импорт и мне с порога выдало кучу ошибок в мейкфайле:
http://s44.radikal.ru/i103/1110/dd/21a18b236592.pngПонимаю, что мейкфайл врядли по дороге протух. Значит что-то с настройками. Что?
Может ли быть причина в обновлении, что она с утра подсосала?..
А случаем в путях не другой ли make берется?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.