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

 
 
> Сообщение ошибки WINAVR
Jagupop
сообщение Jul 1 2007, 21:08
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 15-05-07
Пользователь №: 27 727



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

main.c:45: error: parse error at end of input

при этом показывает на самую последнюю строку (на закрытую скобочку).

Попутный вопрос - а есть вообще где-то какое-то обобщенное описание всех сообщений WinAVR?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Guest_Serg79_*
сообщение Jul 2 2007, 10:37
Сообщение #2





Guests






Давай все разберем по порядку:
Код
In file included from main.c:4:
C:/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."

Означает: в файле "main.c" в строке 4 идет включение заголовочного файла "#include <avr/delay.h>". Далее идет вывод warning из файла avr/delay.h, что означает: "этот файл перенесен в <util/delay.h>". Вот само содержание файла "avr/delay.h":
Код
#ifndef _AVR_DELAY_H_
#define _AVR_DELAY_H_

#warning "This file has been moved to <util/delay.h>."
#include <util/delay.h>

#endif /* _AVR_DELAY_H_ */

Теперь думаю вопросов не должно возникать по этому поводу. Замени строчку "#include <avr/delay.h>" на "#include <util/delay.h>".


Далее:
Код
main.c:23: warning: 'main' is normally a non-static function

Говорит о том, что функция "main" является обычной функцией а не статической. Это значит, что ты написал вот так:
Код
static int main(void)
{
...
}

Это были предупреждения компилятора.


Теперь ошибки линковщика:
Код
Linking: main.elf
avr-gcc -mmcu=attiny2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/main.o -std=gnu99 -MD -MP -MF .dep/main.elf.d obj/main.o --output main.elf -Wl,-Map=main.map,--cref --section-start=.text=0x0000,
C:/WinAVR/bin/../lib/gcc/avr/3.4.6/../../../../avr/lib/crttn2313.o: In function `__vectors':
../../../../../avr-libc-1.4.4/crt1/gcrt1.S:51: undefined reference to `main'
make.exe: *** [main.elf] Error 1

Это означает, что линковщик не пожет найти функцию "main" которая вызывается из функции "__vectors" которая находиться в объектной библиотеке "crttn2313.o". А найти функцию "main" линковщик не может потому, что она была объявленна как статическая. А как нам известно, статические функции видны только в пределах файла в котором они описанны, также как и статические переменные определенные вне каких либо функций.


Надеюсь, теперь у тебя никаких вопросов нет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jagupop   Сообщение ошибки WINAVR   Jul 1 2007, 21:08
- - konny   По поводу ошибки: если мне не изменяет память, ком...   Jul 2 2007, 00:41
|- - haker_fox   Цитата(konny @ Jul 2 2007, 08:41) По пово...   Jul 2 2007, 01:50
- - forever failure   Цитатаmain.c:45: error: parse error at end of inpu...   Jul 2 2007, 04:53
- - Jagupop   Привожу. Только не швыряйте гнилыми помидорами - я...   Jul 2 2007, 05:35
|- - zhevak   Цитата(Jagupop @ Jul 2 2007, 11:35) void ...   Jul 2 2007, 06:17
- - forever failure   void zaziganie (unsigned char z) { z = 0; for (i=0...   Jul 2 2007, 06:00
- - Jagupop   Эх, невнимательность... Спасибо!!! А ...   Jul 2 2007, 09:05
|- - aesok   Цитата(Jagupop @ Jul 2 2007, 13:05) А что...   Jul 2 2007, 09:34
- - Jagupop   Преогромнейшее спасибо!!! ЦитатаИ вот...   Jul 2 2007, 10:58
|- - sensor_ua   Цитата(Jagupop @ Jul 2 2007, 13:58) Преог...   Jul 2 2007, 14:49
- - Serg79   Не хотел писать, ну да ладно, напишу. Может и впра...   Jul 2 2007, 12:00
- - GDI   По поводу скобок: если пишете программу в Programm...   Jul 2 2007, 12:35
- - Jagupop   Все понятно. Спасибо за помощь.   Jul 2 2007, 14:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 04:16
Рейтинг@Mail.ru


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