|
Проблема с билиотеками |
|
|
|
Nov 11 2010, 12:47
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
Хочу перенести написанную программу с одной среды разработки на другую(CodeVisionAVR). Но проблема в том что при компиляции CDAVR не может открыть файлы. Пишет вот что: can't open #include file: avr\interrupt.h can't open #include file: avr\io.h что мне делать?
|
|
|
|
|
Nov 11 2010, 13:38
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
а это что за ошибка :
missing ';'
//языки проекта language menuLang; language EEMEM eeMenuLang=0; <-- тут ошибка
|
|
|
|
|
Nov 11 2010, 13:54
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

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

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(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)  просто понять что он хочет .... ведь стоит ";" Хотя в строке и стоит ";", но транслятор не понимает эту конструкцию и считает, что ";" должна стоять в этой строке где-то ещё. Это не означает, что ";" нужно Вам вставить в эту строку - обычно, это означает, что в строке нужно что-то исправить (но - не факт! с этим нужно ещё разобраться!) потому, что в строке применено что-то, что было корректно в старом трансляторе, но не годиться для нового...
|
|
|
|
|
Nov 11 2010, 14:19
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
Цитата(Палыч @ Nov 11 2010, 18:03)  Кроме ошибок, приведенных Вами в первом сообщении, у Вас появятся кучка других: обычно для МК трансляторы содержат расширения языка, разные для разных трансляторов - потребуется их замена на аналогичные, если таковые имеются (поэтому то, я и говорил, что "хорошо бы эти среды хоть как-то знать"). а вы можете посоветовать программы?
|
|
|
|
|
Nov 11 2010, 14:37
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
трансляторы
|
|
|
|
|
Nov 11 2010, 14:52
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
и все таки нужно перенести программу в другую среду... потому как никто толком непомнит как среда называлась (говорят вроде как еклипс) ... а самого программиста нету.... надо как-то выходить с положения
я так понял перенести в другую среду возможно, но очень сложно?
|
|
|
|
|
Nov 11 2010, 15:24
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Kalindal @ Nov 11 2010, 17:52)  я так понял перенести в другую среду возможно, но очень сложно? Для новичка - сложно. Среду, в которой создан проект, можно определить, обычно, по двум вещам: 1. Среды "ведут" файлы поддержки проекта. Т.е. в проекте содержатся файлы с расширениями, отличными от ".с" и ".h". Если таковые имеются, то приведите их - обычно, он уникальные для разных сред. 2. Оформление прерываний в каждой среде отлично от других потому, что стандарт языка Си прерывания не определяет никак - авторы трансляторов вволю нафантазировали. Если в ваших программах есть функции(процедуры) обработки прерываний, то приведите их начало и несколько строк выше этих функций.
|
|
|
|
|
Nov 12 2010, 06:59
|
Группа: Участник
Сообщений: 10
Регистрация: 11-11-10
Пользователь №: 60 810

|
я так понял что среда разработки была de.innot.avreclipse.core.prefs
а насчет WinAVR.... немного непонял как и что нужно открыть чтоб компилировать ?
|
|
|
|
|
Nov 12 2010, 10:06
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(Kalindal @ Nov 12 2010, 09:59)  я так понял что среда разработки была... Это не важно какая среда, важно какой компилятор. По моему мнению avr-gcc Цитата а насчет WinAVR.... немного непонял как и что нужно открыть чтоб компилировать ? Забудьте это слово. Открывать ничего не надо. Просто любой текстовый редактор с подсветкой синтаксиса и в путь. Вам нужны лишь исходники и Makefile. В командной строке пишете (там где находится Makefile): make all и всё - проект соберётся.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|