MrYuran
Jul 28 2008, 08:06
В общем-то всем хорош эклипс, окромя одного: задумчивый слишком. На моём Sempron 2800 как-то прямо напрягает уже. Я уж молчу про старенькие атлончики с 256М памяти...
В общем, увидел упоминание на форуме о сабже, решил попробовать.
Первое впечатление - положительное (это размер дистриба 10М и список из пары десятков компиляторов при запуске, среди которых и GCC for MSP430).
Дальше впечатление немного попортилось. Подключение проекта - нудное пофайловое перетаскивание. (в клипсе можно прямо драг&дропом кидать, очень удобный импорт). Но это мелочи. Попытался скомпилить - вот что выдаёт:
"X3_amplifier - Release" uses an invalid compiler. Skipping...
Nothing to be done.
То есть, MSP430 GCC выбрать можно, но он инвалид. Ну и, делать нечего.
Хотя я там честно галочки расставил, ключи компилятора, даже MSP430x149 выбрал...
Хотя я конечно глубоко не вникал, может конечно инструкцию почитать...
В общем, как скомпилить MSP-шную программу?
Начиная с настроек проекта.
MrYuran
Jul 28 2008, 09:38
Вот нашёл на ихнем форуме:
Код
we have started to integrate the msp430 toolchain in Codeblocks. Our compiler plugin already supports MSP430 but it has not been released until now. The main reason why it has not been released is that we tested the MSP430 Toolchain with the sourceforge binaries. The binaries are generated using cygwin and that can cause some problems under windows. So we will generate the whole MSP430 Toolchain using mingw. As soon the toolchain is available and tested we will send the modification to the CB community.
Насколько я понял, они поддержку MSP430 реализовали в версии под MinGW.
То есть я так понимаю, надо ставить MinGW, потом С::В под него, а потом пробовать?
я пробовал все эти IDE - dev-cpp, codeblocks, eclipse, пришел к выводу что все это не нужно и избыточно.
достаточно простейшего редактора - сначала писал в notepad++, сейчас в scite - легкий, с встроенным скриптованием на Lua. для компиляции использую scons - единый интерфейс для любого компилятора.
MrYuran
Jul 28 2008, 11:10
Что-то тут всё-таки не то... Попробовал сделать проект под AVR, даже визард такой есть, а всё равно
"uses an invalid compiler. Skipping..."
Видимо, придётся пока в эклипсе работать, а то завтра прийдёт начальник и спросит "как дела", в том смысле, готова ли программа...
AHTOXA
Jul 28 2008, 19:56
Цитата(MrYuran @ Jul 28 2008, 14:06)

"X3_amplifier - Release" uses an invalid compiler. Skipping...
Nothing to be done.
Надо было выбирать "console application". Но это на будущее, а сейчас достаточно зайти в свойства проекта (Project-properties), и в Project settings - Platforms поставить птичку на Windiows (можно поставить вообще все птички там).
haker_fox
Jul 28 2008, 23:21
Цитата(MrYuran @ Jul 28 2008, 20:10)

Попробовал сделать проект под AVR, даже визард такой есть, а всё равно
С Wizard'ом у меня тоже не получилось, когда ради интереса решил недавно попробывать

Ранее (с 2006 г) и по ныне создаю "Console Application", а все правила компиляции задаю через makefile. Естественно CodeBlock'у нужно указать, что мы используем наш собственный makefile. Все отлично работает.
MrYuran
Jul 29 2008, 04:24
Короче, дома на свежую голову под бутылочку пивка разобрался. Оказывается, даже проще намного, чем в эклипсе. Есть такая менюха Settings->Compiler and Debugger. Вот там надо прописать все пути до компиляторов. По умолчанию там забиты стандартные пути, но они могут и не совпадать. Например, у меня WinAVR стоит в папке С:\WinAVR-20080512, а там забито просто С:\WinAVR. Для мсп телодвижений побольше, поскольку визарда нет, приходится всё ручками расставлять. Но достаточно один раз настроить и забыть. В общем, эклипс может где-то и красивше, но тут как-то всё проще и понятнее. Да и не тормозит вообще. А клипсу каспер вообще рутшеллом считал поначалу, пришлось объяснить, что он не прав. Думаю, что и дебаггер настроить не составит труда. Только он мне не нужен, как-то привык уже, даже JTAG обычно не выводим, оставляем неподключенные ноги.
Короче, будет время - может кикстарт-мануал напишу. если кому надо. Ещё вот думаю, визард для МСП надо написать, если готового не найду.
А с мэйкфайлом-то и ежу понятно, что всё заработает. Единственное - путь до маке.ехе должен в системе быть прописан
Непомнящий Евгений
Jul 29 2008, 04:44
Цитата(ukpyr @ Jul 28 2008, 14:15)

я пробовал все эти IDE - dev-cpp, codeblocks, eclipse, пришел к выводу что все это не нужно и избыточно.
достаточно простейшего редактора....
Все это здорово, но без автодополнения, помощи по аргументам функций, быстрой навигации к определению\объявлению функции\класса\переменной я уже как то жизни себе и не представляю

Цитата
На моём Sempron 2800 как-то прямо напрягает уже.
У меня на рабочем пень4 3200 и 1 гб оперативы вполне прилично работает. Что касается 256 мб озу - так проще докупить, имхо, она сейчас дешевая.
Что касается кодеблока - штука конечно симпатичная, но с автодополнением на С++ коде у меня были грабли. После чего я его забросил.
MrYuran
Jul 29 2008, 05:09
Цитата(Непомнящий Евгений @ Jul 29 2008, 08:44)

У меня на рабочем пень4 3200 и 1 гб оперативы вполне прилично работает. Что касается 256 мб озу - так проще докупить, имхо, она сейчас дешевая.
К минимализьму надо стремиться! Сисадмин нас вообще хотел на терминалы пересадить, еле отбрыкались. Пока. Да и например, тот же VS у меня просто терпения не хватило поставить до конца. То ему сервиспак третий подавай, то ещё чего... А в результате пишешь приложение размером 50кБ, для работы которого пользователь должен установить какие-то фреймворки и прочую лабуду...
А С::В для программирования контроллеров - имхо - самое то. Ничего лишнего, и вроде всё что нужно есть. А те же подсказки в эклипсе то работают, то нет, то парсеры включены, то вдруг галки опадают... Системы я так и не обнаружил. А вот тормоза конкретные.
Была идея ещё накрайняк программерс ноутпадом воспользоваться из WinAVR, но вот он как раз какой-то убогий.
Непомнящий Евгений
Jul 29 2008, 06:31
Цитата
Сисадмин нас вообще хотел на терминалы пересадить, еле отбрыкались.
Тут какая-то подмена понятий. По-идее, сисадмин нужен для удобства пользователей, а у вас получается наоборот
MrYuran
Jul 29 2008, 07:14
Цитата(Непомнящий Евгений @ Jul 29 2008, 10:31)

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

Сисадмин несёт уголовную ответственность за ломаный софт, стоящий на подотчётных ему тачках. А он её нести не хочет. А с терминалами всё намного проще. И дешевле. И напрягаться не надо. Одна загвоздка - иногда терминальный сервер виснет, и полконторы идёт курить... И начинают поминать всяческими недобрыми словами...
//---------------------------------------
Щас увидел - подсказки в С::В тоже работают, как и в эклипсе. И это не может не радовать, тем более что работает всё намного быстрее. И дистриб 10 метров, а не 100
Непомнящий Евгений
Jul 29 2008, 07:25
Цитата(MrYuran @ Jul 29 2008, 11:14)

Сисадмин несёт уголовную ответственность за ломаный софт, стоящий на подотчётных ему тачках. А он её нести не хочет.
Ну так не надо ставить ломанный софт, да и все

. И кстати, у нас по фирме был какой-то приказ, в соответствии с которым ответственность за свой компьютер несет его пользователь...
Цитата
Щас увидел - подсказки в С::В тоже работают, как и в эклипсе. И это не может не радовать, тем более что работает всё намного быстрее. И дистриб 10 метров, а не 100
Работают, но не всегда. Особенно на всяких классах\шаблонах. Отладка там тоже какая-то недоделанная (хотя может я в ней не разобрался до конца просто).
Эклипс конечно монстрообразнее и тормознутее, но возможностей у него все же побольше.
MrYuran
Jul 29 2008, 07:36
Цитата(Непомнящий Евгений @ Jul 29 2008, 11:25)

Ну так не надо ставить ломанный софт, да и все

.

$$$$-???
вот, пытаемся, как видите... хотя бы с ИАРа слезть... Кстати, даже по сравнению с ИАРом С::В мне нравится больше
Цитата
И кстати, у нас по фирме был какой-то приказ, в соответствии с которым ответственность за свой компьютер несет его пользователь...
Приказ не отменяет законов РФ, по которым ответственность ложится также на сисадмина и директора
Непомнящий Евгений
Jul 29 2008, 07:46
Цитата(MrYuran @ Jul 29 2008, 11:36)

Кстати, даже по сравнению с ИАРом С::В мне нравится больше
Дык иар и c::b - это несколько разные вещи

. иар = компилер (хороший) + иде (угребищная).
Вместо иар-овской иде давно юзаю эклипс, а в качестве компилятора продолжаю юзать иар.
С::b также безусловно лучше иар-овской иде. А вот что юзать вместе с ним в качестве компилятора - тут уже свобода выбора.
Цитата
Приказ не отменяет законов РФ, по которым ответственность ложится также на сисадмина и директора
Интересно, зачем же тогда приказ делали? Чтобы юзера не расслаблялись

?
AHTOXA
Jul 29 2008, 08:30
А мне и в Эклипсе и в c::b не хватает одной очень удобной фичи, к которой я привык в med : переход по стеку вызовов туда-сюда по Ctrl+Enter и Alt+Enter...
haker_fox
Jul 29 2008, 08:39
Цитата(MrYuran @ Jul 29 2008, 13:24)

А с мэйкфайлом-то и ежу понятно, что всё заработает. Единственное - путь до маке.ехе должен в системе быть прописан
Так, а зачем все эти мороки с визардом? Проект непереносимым получается: каталог с проектом просто так не перекинешь на др. ком, где нет C::B, но есть winavr. А с makefile - запросто! Очень удобно! Но это уже кому как)
А вообще интересную тенденцию наблюдаю, может быть не я один: увеличивается интерес к C::B. Еще год назад такого небыло. Очевидно это связано с недавней новой восьмой версией.
Цитата(haker_fox @ Jul 29 2008, 12:39)

А вообще интересную тенденцию наблюдаю...
это не к CB интерес увеличивается, а к другим IDE уменьшается.. Eclispse ДО жути достал своей явой и мехом вовнутрь вывернутым интерфейсом. Однако он умеет делать все. никак не соскочю с него.
Я никак не пойму КАК МОЖНО ПИСАТЬ IDE для людей и навязывая им невозможность создавать ПРОСТО ПРОЕКТ управляймый make или scons??? А тенденция.. "на тебе, тупой программер, визард который только в нашем формате сделает тебе проект!!!" зла не хватет!
MrYuran
Jul 29 2008, 10:00
Код
msp430-gcc.exe -mmcu=msp430x149 -c AD7708\AD7708.c -o E:\work\Программы\X3_amp\X3_amplifier\.objs\AD7708\AD7708.o msp430-ld.exe -o .elf E:\work\Программы\X3_amp\X3_amplifier\.objs\AD7708\AD7708.o -lm -lc Output size is 1.25 KB Process terminated with status 0 (0 minutes, 2 seconds) 0 errors, 0 warnings
Вот она, квинтэссенция!
мелочь конечно, проект типа ХеллоВорлд, но всё равно приятно.
КСТАТИ: в мэйках обычно ставят LD = msp430-gcc.exe, а разница в чём? почему не ld ?
haker_fox
Jul 29 2008, 10:33
Цитата(klen @ Jul 29 2008, 18:12)

это не к CB интерес увеличивается, а к другим IDE уменьшается.. Eclispse ДО жути достал
А как же профессиональный MultiEdit и др.?
Цитата(klen @ Jul 29 2008, 18:12)

Я никак не пойму КАК МОЖНО ПИСАТЬ IDE для людей и навязывая им невозможность создавать ПРОСТО ПРОЕКТ управляймый make или scons???
Согласен. В отношении CB. Но напрягает не сильно. Есть возможность все поправить после создания проекта.
Цитата(klen @ Jul 29 2008, 18:12)

А тенденция.. "на тебе, тупой программер, визард который только в нашем формате сделает тебе проект!!!" зла не хватет!

И куда катиться цивилизация?
msalov
Jul 29 2008, 10:36
Цитата(MrYuran @ Jul 29 2008, 13:00)

КСТАТИ: в мэйках обычно ставят LD = msp430-gcc.exe, а разница в чём? почему не ld ?
Если ld, то надо самому прописывать все параметры: все пути к библиотекам, все библиотеки в нужном порядке и пр. Если исользовать gcc вместо, то можно обойтись меньшим колличеством вводмой информации.
EugeNNe
Jul 31 2008, 06:10
А как к этому С::В JTAG ICE или JTAG ICE mkII прикрутить для работы с AVRами?
UniBomb
Aug 8 2008, 13:22
Цитата
Так, а зачем все эти мороки с визардом? Проект непереносимым получается: каталог с проектом просто так не перекинешь на др. ком, где нет C::B, но есть winavrя
Всё очень легко переносится. На самом деле в C::B используется тот же avr-gcc (если в контексте про winavr), тот же makefile. Проект можно создавать либо через визард, либо как консольный. В любом случае всегда можно поменять структуру проекта. Есть ещё и третий варинт - написать свой визард (благо есть встроенные средства для этого).
Цитата
А тенденция.. "на тебе, тупой программер, визард который только в нашем формате сделает тебе проект!!!" зла не хватет!
Совсем не так. Без обид, но такие мысли появляются только вследствии недостаточных познаний в вопросе. Подробнее я уже выше написал. Практически в любой иде файл проекта - это только для самой иде, главными же по прежнему являются файлы с расширениями *c, *cpp, *h. Перекомпоновать проект есть возможность в любой иде (через этот самый файл проекта), другой вопрос - зачем это нужно)))) Если я сижу в одной иде, то зачем мне её переносить в другую?
А по сажу хочу сказать, что C::B одна из самых приятных вещей, с которой когда либо сталкивался. Единственное что меня останавливает для полного перехода на неё - это весьма скромные познания GNU-GCC (и avr-gcc в частности) и GNU-DGB (вроде правильно написал, в общем это гнушный отладчик). Да и просто саму среду вдоль и поперёк всё времени не хватает избегать. А так среда ну просто изуительная)))
Цитата(UniBomb @ Aug 8 2008, 19:22)

Да и просто саму среду вдоль и поперёк всё времени не хватает избегать. А так среда ну просто изуительная)))
Познакомитесь поближе - появятся сомнения

Среда заточена под PC, и никакие плагины этого пока не могут изменить, ибо это в мозгах разработчиков. Гляньте вот на
этот показательный топик на их сайте.
И подводящая итог цитата оттуда:
Цитата
This annoying behaviour bothers me for at least two years now. And it doesn't seem to be fixed in the future, that is really frustrating.
And then there are these PC software gurus that don't stop to tell you that it works fine, when they hit the stop button. But none of them has even tried to debug a remote target.
This little neat "Bug" or missing feature makes codeblocks still unusable for embedded devlopement.
Btw. the arm-elf-insight debugger works fine, and the stop button really stops the target as expected.
UniBomb
Aug 8 2008, 19:10
AHTOXA
Ну как тебе сказать - программирую же в программерс нотпаде. По сути то и нужны только текстовый редактор, да утилитка make.exe. В c::b можно удобнее работать непосредсвенно с кодом. Ну да, иногда нехватает дизасемблера удобного, просмотрщика памяти и регистров, но и без этого в принципе можно обойтись. Ну в крайнем случае отдебажить в АврСтудии. Да и потом я же не только для аврок пишу программы - и для PC)))
Цитата(UniBomb @ Aug 9 2008, 01:10)

Ну как тебе сказать - программирую же в программерс нотпаде. По сути то и нужны только текстовый редактор, да утилитка make.exe.
Когда говорят "изумительная среда", обычно имеют в виду немного большее, чем просто текстовый редактор.
Цитата(UniBomb @ Aug 9 2008, 01:10)

В c::b можно удобнее работать непосредсвенно с кодом. Ну да, иногда нехватает дизасемблера удобного, просмотрщика памяти и регистров, но и без этого в принципе можно обойтись. Ну в крайнем случае отдебажить в АврСтудии. Да и потом я же не только для аврок пишу программы - и для PC)))
Короче, c::b Вы и не пользуетесь особо, а просто видели пару раз, так?
YKonstantin
Aug 9 2008, 06:52
Цитата(klen @ Jul 29 2008, 12:12)

это не к CB интерес увеличивается, а к другим IDE уменьшается.. Eclispse ДО жути достал своей явой и мехом вовнутрь вывернутым интерфейсом. Однако он умеет делать все. никак не соскочю с него.
Я никак не пойму КАК МОЖНО ПИСАТЬ IDE для людей и навязывая им невозможность создавать ПРОСТО ПРОЕКТ управляймый make или scons??? А тенденция.. "на тебе, тупой программер, визард который только в нашем формате сделает тебе проект!!!" зла не хватет!
Однако, каким же бывает "красивым" Eclipse :
Нажмите для просмотра прикрепленного файла
UniBomb
Aug 9 2008, 21:52
Цитата
Когда говорят "изумительная среда", обычно имеют в виду немного большее, чем просто текстовый редактор.
Когда так говорят, обычно имеют в виду немного большее чем можно ожидать от среды)) Я не ожидал множества наворотов конкретно в отношении программирования аврок, но вот во всём остальном меня более чем устраивает.
Цитата
Короче, c::b Вы и не пользуетесь особо, а просто видели пару раз, так?
Нет, не так. Всё что связано с программированием под виньдовс происходит у меня в среде c::b. Ну или почти всё))) Учусь я ещё просто)))
MrYuran
Aug 10 2008, 05:09
Цитата(UniBomb @ Aug 8 2008, 17:22)

Есть ещё и третий варинт - написать свой визард (благо есть встроенные средства для этого).
Можно поподробнее?
Что за встроенные средства?
Начал тут колупать визард AVR на предмет переделки в MSP430, общая идеология понятна, но вручную как-то мутно...
Кстати о птичках: может, у кого готовый есть?
UniBomb
Aug 11 2008, 07:34
Цитата(MrYuran @ Aug 10 2008, 09:09)

Можно поподробнее?
Что за встроенные средства?
Как правильно заметил
AHTOXA спецом по c::b я не являюсь

посему ответ будет краток:
Create new project -> code::blocks plugin -> next -> "plugin type" : Wizard -> и так далее.
Правда нужен ещё и установленный wxWidgets
Цитата(haker_fox @ Jul 29 2008, 03:21)

С Wizard'ом у меня тоже не получилось, когда ради интереса решил недавно попробывать

Ранее (с 2006 г) и по ныне создаю "Console Application", а все правила компиляции задаю через makefile. Естественно CodeBlock'у нужно указать, что мы используем наш собственный makefile. Все отлично работает.
Очень странно, я сейчас только что попробовал с визардом для AVR под CodeBlocks 8.02 и оно и компилит и по JTAGу отлаживает

Что я делаю не так?

Или я что-то недопонял и какая-то функциональность отсутствует?
ЗЫ использую avarice
Только пока не совсем понятно а как же с помощью GDB смотреть значения регистров?..
haker_fox
Sep 7 2008, 23:20
Цитата(AVR @ Sep 7 2008, 20:58)

Очень странно, я сейчас только что попробовал с визардом для AVR под CodeBlocks 8.02 и оно и компилит и по JTAGу отлаживает

Что я делаю не так?

Я не спорю, что работает. Просто у меня не заработало с первого раза для AVR, ну я и не стал мучаться. Тем более уже была привычка, о которой я рассказал выше.
Цитата(AVR @ Sep 7 2008, 20:58)

Или я что-то недопонял и какая-то функциональность отсутствует?
Нет, все верно поняли: были ошибки с созданием проекта.
Цитата(AVR @ Sep 7 2008, 20:58)

ЗЫ использую avarice
Только пока не совсем понятно а как же с помощью GDB смотреть значения регистров?..
Вот тут уже помочь не могу, хоть и GCC использую, отлаживаюсь через RS-232.
Григорий2000
Oct 3 2008, 05:23
Может не в тему...
Уважаемые, кто знаком с вопросом, дайте резюме по поводу всплывающих подсказок элементов классов и структур, можно их увидеть или нет.
И второе: есть много текста по поводу различных плагинов, а есть ли они по решению вышеобозначенного вопроса - непонятно...
MrYuran
Oct 3 2008, 05:52
Цитата(Григорий2000 @ Oct 3 2008, 09:23)

Может не в тему...
Уважаемые, кто знаком с вопросом, дайте резюме по поводу всплывающих подсказок элементов классов и структур, можно их увидеть или нет.
Нажмите для просмотра прикрепленного файлаТак устроит?
По-моему, вполне нормально. И намного быстрее работает, чем в эклипсе.
Правда, не всплывают как в клипсе окошки с объявлением переменных и функций. Да, в общем-то, не особо и надо
Григорий2000
Oct 3 2008, 06:08
Цитата(MrYuran @ Oct 3 2008, 09:52)

Нажмите для просмотра прикрепленного файлаТак устроит?
По-моему, вполне нормально. И намного быстрее работает, чем в эклипсе.
Правда, не всплывают как в клипсе окошки с объявлением переменных и функций. Да, в общем-то, не особо и надо
Да вполне бы устроило, но почему-то неработает. у меня сейчас проет не С++ а просто С
и в типах структур определенных typedef struct... не видит видимо среда эти элементы... может я непонимаю как среде их понятно показать...
или это в достаточно свежих билдах реализовано... у меня от 27 февраля с.г. (8.02)
проясните.. будте любезны))
MrYuran
Oct 3 2008, 06:17
Цитата(Григорий2000 @ Oct 3 2008, 10:08)

Да вполне бы устроило, но почему-то неработает. у меня сейчас проет не С++ а просто С
Я заметил, что он отсвечивает подсказки на новые объекты после компиляции. Видимо, переиндексирует как-то исходники. Опять же, видимо, на лету текст не сканирует. И это положительно сказывается на быстродействии. Может, есть какой-то другой способ. Меня вполне устраивает.
PS: у меня проект тоже на си, так что это не критично.
Григорий2000
Oct 3 2008, 06:35
Еще раз скажите у вас это класс или структура?
если структура - как определена?
проект cpp?
MrYuran
Oct 3 2008, 06:45
Цитата(Григорий2000 @ Oct 3 2008, 10:35)

Еще раз скажите у вас это класс или структура?
если структура - как определена?
проект cpp?
Проект с (без плюсов)
структура, определена в заголовочном файле, который инклудится сверху.
Подсказки начинают всплывать после сборки проекта
Подсказки выплывают ко всем переменным, константам, в том числе и enum-ным, функциям и т.д.
Григорий2000
Oct 3 2008, 06:50
Подсказки к функциям и константам у меня видны, а вот падающего списка элементов структуры - нет. подскажите последнее - версия плагина Code completion в свойствах иде, у меня 0.7
MrYuran
Oct 3 2008, 07:02
Григорий2000
Oct 3 2008, 07:38
то-ли лыжи не едут...
Спасибо за ответы.
то-ли лыжи не едут...
Спасибо за ответы.
Григорий2000
Oct 4 2008, 19:37
Не поймите неправильно... но я скачал последнюю версию CodeBlocks набрал простейший текст и... чуда непроизошло...
возврашаясь к последнему диалогу и MrYuran в частности прошу прислать рабочий пример проекта(практически пустого, вновь созданного с одной структурой и функций майн и файлами проекта) если это несложно.
Заранее благодарен.
MrYuran
Oct 5 2008, 08:45
Григорий2000
Oct 5 2008, 17:58
Тупо повторив - результат не получил... завтра еще подумаю...
еще возможно имеет значение тип создаваемого проекта(я делал по шаблону AVR) хотя это уже из разряда пляски с бубном)))
MrYuran
Oct 6 2008, 06:12
Цитата(Григорий2000 @ Oct 5 2008, 21:58)

еще возможно имеет значение тип создаваемого проекта(я делал по шаблону AVR) хотя это уже из разряда пляски с бубном)))
Я дома тоже делал с АВР. На работе - MSPGCC.
Если совсем ничего не выходит, придётся читать мануал. Тем более что он очень даже прилично сделан. Я себе распечатал в виде книжечки.
Григорий2000
Oct 6 2008, 06:46
Прогресс конечно имеется.. но в использовании в таком виде речи нет: при запрещении SmartSense - появляется ниспадающее меню с вариантами имен, но все что есть в проекте и все сразу и глобальные (можно отключить) и внешние(то-же можно отключить).
Я конечно разберусь - вопрос времени....
Видимо есть некоторое недопонимание с средой и тем как она работает. ну и не быстрое чтение на "англицком" то-же дает о себе знать...
Если возможно возмите проект и поместите например в корень какого нить диска(что-бы не учитывались настройки среды для вашего рабочего каталога ) и сообщите результат.
работает ли в таком виде..
MrYuran
Oct 6 2008, 07:24
Цитата(Григорий2000 @ Oct 6 2008, 10:46)

работает ли в таком виде..
В таком чё-то никак...
Немного изменил описание структуры - вот:
Нажмите для просмотра прикрепленного файла
Григорий2000
Oct 6 2008, 07:39
Эврика! Теперь работает... а я использовал всегда именованные струтуры... потому и неработало)))
Премного благодарен уважаемый... я б об этом думал бы в последнюю очередь... еслиб догадался)))
Теперь CodeBlocks для меня стала нормальной средой, а не просто бесплатным продуктом)))
Григорий2000
Nov 26 2008, 06:59
Подскажите, кто-нибудь пользуется автогенерацией makefile или все используют свой внешний makefile ?
Что то у меня не получилось скомпилировать проект из неодного исходника, с одним компилирует а с неодним неполучается - линкер берет только один объектный файл, и , соответственно, пишет что ненайдены внешние обьекты(функции/переменные).
MrYuran
Nov 26 2008, 07:20
Поставьте в настройках галочки на все предупреждения, тогда будет видно, из-за чего не линкует. Ещё, если проект разложен по папкам, надо либо прописывать компилятору и линкеру пути для поиска к каждой папке, но это лениво, я прописываю путь к корню проекта, а в исходниках прописываю полные относительные пути к хедерам, типа #include "../utils/utils.h"
Таким образом работает.
Григорий2000
Nov 26 2008, 07:38
варнинги вывел... появились предупреждения о коментах типа с++ в файлах С90 и т.п
компиляция проходит, хедеры все доступны, файлы для чистоты эксперимента свалил в одну папку.
не вижу что-бы линкеру передавались все файлы проекта, передается только один(как нибудь можно вывести в консоль запуск линкера с ключами, что-бы посмотреть как это делает среда?) и естественно если он один у линкера - ошибки - нет обьектов объявленных там как extern или внешних функций.
Цитата
Compiling: ..\Lib\DELAY.C
Compiling: ..\Lib\buffer.c
..\Lib\buffer.c:2:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\buffer.c:2:1: warning: (this will be reported only once per input file)
In file included from ..\Lib\buffer.c:18:
..\Lib\/buffer.h:2:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\/buffer.h:2:1: warning: (this will be reported only once per input file)
In file included from ..\Lib\buffer.c:21:
..\Lib\/avrlibdefs.h:2:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\/avrlibdefs.h:2:1: warning: (this will be reported only once per input file)
..\Lib\buffer.c: In function 'bufferGetAtIndex':
..\Lib\buffer.c:101: warning: ISO C90 forbids mixed declarations and code
..\Lib\buffer.c: In function 'bufferIsNotFull':
..\Lib\buffer.c:135: warning: ISO C90 forbids mixed declarations and code
Compiling: ..\Lib\ds18b20.c
..\Lib\ds18b20.c:3:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\ds18b20.c:3:1: warning: (this will be reported only once per input file)
In file included from ..\Lib\ds18b20.c:5:
..\Lib\/..\Lib\1WIRE.H:7:25: warning: C++ style comments are not allowed in ISO C90
..\Lib\/..\Lib\1WIRE.H:7:25: warning: (this will be reported only once per input file)
In file included from ..\Lib\ds18b20.c:6:
..\Lib\/ds18b20.h:11:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\/ds18b20.h:11:1: warning: (this will be reported only once per input file)
Compiling: main.c
In file included from main.c:6:
..\Lib\ds18b20.h:11:1: warning: C++ style comments are not allowed in ISO C90
..\Lib\ds18b20.h:11:1: warning: (this will be reported only once per input file)
main.c:14:1: warning: C++ style comments are not allowed in ISO C90
main.c:14:1: warning: (this will be reported only once per input file)
Compiling: ..\Lib\1WIRE.C
Linking console executable: bin\Debug\testProject.elf
obj\Debug\Lib\ds18b20.o: In function `ds18b20Init':
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:91: undefined reference to `w1_rom_search'
obj\Debug\Lib\ds18b20.o: In function `ds1820StartConversion':
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:139: undefined reference to `w1_reset'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:151: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:154: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:157: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:160: undefined reference to `w1_command'
obj\Debug\Lib\ds18b20.o: In function `ds1820ReadTemperature':
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:199: undefined reference to `w1_reset'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:209: undefined reference to `w1_bit_io'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:218: undefined reference to `w1_reset'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:231: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:236: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:242: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:247: undefined reference to `w1_command'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:254: undefined reference to `w1_byte_rd'
C:\work\TestFolder\testProject/..\Lib\ds18b20.c:255: undefined reference to `w1_byte_rd'
Process terminated with status 1 (0 minutes, 1 seconds)
15 errors, 18 warnings
где ошибка?)) в каких настройках
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.