Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с билиотеками
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Kalindal
Хочу перенести написанную программу с одной среды разработки на другую(CodeVisionAVR).
Но проблема в том что при компиляции CDAVR не может открыть файлы. Пишет вот что:


can't open #include file: avr\interrupt.h
can't open #include file: avr\io.h

что мне делать? smile3046.gif
Палыч
Цитата(Kalindal @ Nov 11 2010, 15:47) *
что мне делать?
Чтобы переносить программы из одной среды в другую - хорошо бы эти среды хоть как-то знать...
По существу вопроса. Определить: требуется ли в новой среде подключение аналогов не найденых файлов из старой среды и, если требуется - имена файлов заменить на требуемые. Как это определить "по-быстрому"? Закоментируйте строки с соответствующими #include и проанализируйте список полученных ошибок при трансляции - получите, скорее всего, кучку сообщений типа "не определен ..."; ищите h-файлы, где это определено; вставляете в программу #include с найденными h-файлами...
Kalindal
а это что за ошибка :

missing ';'




//языки проекта
language menuLang;
language EEMEM eeMenuLang=0; <-- тут ошибка
Палыч
Цитата(Kalindal @ Nov 11 2010, 16:38) *
а это что за ошибка :
missing ';'
Проблемы с английским языком? Можно воспользоваться словарём/переводчиком...
Транслятор считает, что в использованной Вами конструкции пропущена "точка с запятой". Скорее всего транслятору неизвестны либо "language", либо "EEMEM".
Kalindal
Цитата(Палыч @ Nov 11 2010, 17:09) *
Чтобы переносить программы из одной среды в другую - хорошо бы эти среды хоть как-то знать...
По существу вопроса. Определить: требуется ли в новой среде подключение аналогов не найденых файлов из старой среды и, если требуется - имена файлов заменить на требуемые. Как это определить "по-быстрому"? Закоментируйте строки с соответствующими #include и проанализируйте список полученных ошибок при трансляции - получите, скорее всего, кучку сообщений типа "не определен ..."; ищите h-файлы, где это определено; вставляете в программу #include с найденными h-файлами...


подключить все файлы, я правильно понял?

Цитата(Палыч @ Nov 11 2010, 17:51) *
Проблемы с английским языком? Можно воспользоваться словарём/переводчиком...
Транслятор считает, что в использованной Вами конструкции пропущена "точка с запятой". Скорее всего транслятору неизвестны либо "language", либо "EEMEM".


с английским все в норме))
просто понять что он хочет .... ведь стоит ";"
Палыч
Цитата(Kalindal @ Nov 11 2010, 16:51) *
подключить все файлы, я правильно понял?
Наверное -нет. Я предлагал временно закоментировать строки
Код
#include <avr\interrupt.h>
#include <avr\io.h>

чтобы определить: нужно ли их заменить другими include с файлами из новой среды. Скорее всего появятся сообщения об ошибках, что неизвестны регистры МК - тогда следует искать замену файлу io.h
С файлом interrupt.h всё гораздо сложнее - прерывания в разных трансляторах оформляются по разному. Тут нужно смотреть help на Ваш новый транслятор - искать по ключевому слову "interrupt".

Кроме ошибок, приведенных Вами в первом сообщении, у Вас появятся кучка других: обычно для МК трансляторы содержат расширения языка, разные для разных трансляторов - потребуется их замена на аналогичные, если таковые имеются (поэтому то, я и говорил, что "хорошо бы эти среды хоть как-то знать").


Цитата(Kalindal @ Nov 11 2010, 16:54) *
просто понять что он хочет .... ведь стоит ";"
Хотя в строке и стоит ";", но транслятор не понимает эту конструкцию и считает, что ";" должна стоять в этой строке где-то ещё. Это не означает, что ";" нужно Вам вставить в эту строку - обычно, это означает, что в строке нужно что-то исправить (но - не факт! с этим нужно ещё разобраться!) потому, что в строке применено что-то, что было корректно в старом трансляторе, но не годиться для нового...
Kalindal
Цитата(Палыч @ Nov 11 2010, 18:03) *
Кроме ошибок, приведенных Вами в первом сообщении, у Вас появятся кучка других: обычно для МК трансляторы содержат расширения языка, разные для разных трансляторов - потребуется их замена на аналогичные, если таковые имеются (поэтому то, я и говорил, что "хорошо бы эти среды хоть как-то знать").


а вы можете посоветовать программы?
Палыч
Цитата(Kalindal @ Nov 11 2010, 17:19) *
а вы можете посоветовать программы?
??? Какой совет Вы хотите получить? О каких программах идёт речь?
Kalindal
трансляторы
Палыч
Цитата(Kalindal @ Nov 11 2010, 17:37) *
трансляторы
Это трудно сделать. Если Вы хотите повторить чей-то проект (как я себе понял) - воспользуйтесь тем транслятором в котором этот проект был создан автором.
Kalindal
и все таки нужно перенести программу в другую среду... потому как никто толком непомнит как среда называлась (говорят вроде как еклипс) ...
а самого программиста нету.... надо как-то выходить с положения

я так понял перенести в другую среду возможно, но очень сложно?
Палыч
Цитата(Kalindal @ Nov 11 2010, 17:52) *
я так понял перенести в другую среду возможно, но очень сложно?
Для новичка - сложно.
Среду, в которой создан проект, можно определить, обычно, по двум вещам:
1. Среды "ведут" файлы поддержки проекта. Т.е. в проекте содержатся файлы с расширениями, отличными от ".с" и ".h". Если таковые имеются, то приведите их - обычно, он уникальные для разных сред.
2. Оформление прерываний в каждой среде отлично от других потому, что стандарт языка Си прерывания не определяет никак - авторы трансляторов вволю нафантазировали. Если в ваших программах есть функции(процедуры) обработки прерываний, то приведите их начало и несколько строк выше этих функций.
demiurg_spb
У Вас был проект под avr-gcc управляемый makefile'ом.
Качайте WinAVR и выкиньте CV из головы как страшный сон.
Kalindal
я так понял что среда разработки была
de.innot.avreclipse.core.prefs


а насчет WinAVR.... немного непонял как и что нужно открыть чтоб компилировать ?
demiurg_spb
Цитата(Kalindal @ Nov 12 2010, 09:59) *
я так понял что среда разработки была...
Это не важно какая среда, важно какой компилятор.
По моему мнению avr-gcc
Цитата
а насчет WinAVR.... немного непонял как и что нужно открыть чтоб компилировать ?

Забудьте это слово. Открывать ничего не надо.
Просто любой текстовый редактор с подсветкой синтаксиса и в путь.
Вам нужны лишь исходники и Makefile.
В командной строке пишете (там где находится Makefile): make all
и всё - проект соберётся.
MrYuran
Цитата(demiurg_spb @ Nov 12 2010, 13:06) *
Забудьте это слово. Открывать ничего не надо.
Просто любой текстовый редактор с подсветкой синтаксиса и в путь.
Вам нужны лишь исходники и Makefile.
В командной строке пишете (там где находится Makefile): make all
и всё - проект соберётся.

Ага, вот так с ходу - головой в прорубь и обратили в православие smile.gif

"открыть" надо гуголь и набрать "AVR plugin for Eclipse"

А вот по-русски
Kalindal
поставил я плагины и что дальше?
MrYuran
Цитата(Kalindal @ Nov 12 2010, 14:27) *
поставил я плагины и что дальше?

Дальше - в путь!

Настраиваем проект и жмём "молоток" (Build)
Kalindal
Цитата(MrYuran @ Nov 12 2010, 15:36) *
Дальше - в путь!

Настраиваем проект и жмём "молоток" (Build)


значит настраиваю проект , вставляю готовый текст, подключаю библиотеки, вношу свои изменения , клацаю "молоток" и всё программу можно зашивать на мк?
MrYuran
Цитата(Kalindal @ Nov 12 2010, 14:45) *
значит настраиваю проект , вставляю готовый текст, подключаю библиотеки, вношу свои изменения , клацаю "молоток" и всё программу можно зашивать на мк?

Ну да, как-то так.
Причём и зашивать тоже из-под эклипса можно при правильных настройках.
Kalindal
Цитата(MrYuran @ Nov 12 2010, 15:46) *
Ну да, как-то так.
Причём и зашивать тоже из-под эклипса можно при правильных настройках.



зашиваю я через AVR Studio....

такс а почему я на "молоток" немогу нажать?(он у меня серый)Что не так?
И еще вопрос ... Открывать надо только main.c файл для редактирования, или еще те файлы которые подключены в нем тоже(main.c)?
demiurg_spb
Цитата(MrYuran @ Nov 12 2010, 13:15) *
Ага, вот так с ходу - головой в прорубь и обратили в православие smile.gif
Так атож:-)
Теперь у него молоток серый, завтра стул белый, ещё что-нибудь.
Надо на корню рубить эти барские замашки. VIM - наше всё...

Цитата(Kalindal @ Nov 12 2010, 14:55) *
Открывать надо только main.c файл для редактирования, или еще те файлы которые подключены в нем тоже(main.c)?
Вопрос не ясен. Открывайте для редактирования любые файлы, которые хотите отредактировать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.