Ошибка компоновщика avr-gcc при компиляции с самодельной библиотекой

Я пытаюсь скомпилировать кучу кода c для запуска на atmega32u4, но похоже, что у меня возникла проблема с компоновщиком.

[pc@royce-laptop teensy]$ avr-gcc -mmcu=atmega32u4 -Os -DF_CPU=8000000UL -Icab202_teensy -Lcab202_teensy -lcab202_teensy -lm -std=gnu99 cab202_teensy_debug.c -o debug.o
debug.o: In function `main':
cab202_teensy_debug.c:(.text.startup+0x22): undefined reference to `lcd_init'
cab202_teensy_debug.c:(.text.startup+0x2a): undefined reference to `clear_screen'
cab202_teensy_debug.c:(.text.startup+0x36): undefined reference to `draw_string'
cab202_teensy_debug.c:(.text.startup+0xcc): undefined reference to `draw_line'
cab202_teensy_debug.c:(.text.startup+0xd0): undefined reference to `show_screen'
cab202_teensy_debug.c:(.text.startup+0x124): undefined reference to `init_sprite'
cab202_teensy_debug.c:(.text.startup+0x128): undefined reference to `clear_screen'
cab202_teensy_debug.c:(.text.startup+0x134): undefined reference to `draw_string'
cab202_teensy_debug.c:(.text.startup+0x13c): undefined reference to `draw_sprite'
cab202_teensy_debug.c:(.text.startup+0x140): undefined reference to `show_screen'

Обратите внимание, что эти функции упакованы в имя lib 'libcab202_teensy.a'. Но странно, что если я не использую упакованную библиотеку, а скомпилирую эти вещи с нуля, как показано ниже, это работает:

$avr-gcc -mmcu=atmega32u4 -Os -DF_CPU=8000000UL -Icab202_teensy -lm main.c cab202_teensy/*.c -o main

Так в чем же проблема на самом деле? Это беспокоит меня уже пару дней...

0 ответов

Другие вопросы по тегам