[En-Nut-Discussion] New Ehternut S/W Manual Example NutRegisterDevice(&devLcd, 0, 0)

Grahame M. Kelly grahame at wildpossum.com
Fri Jun 3 02:01:11 CEST 2005


On Fri, 3 Jun 2005 00:13, you wrote:
> #include <dev/hd44780.h>

Hi Ole & Harald.

Compiling the sample code as per the new Ethernet s/w manual page 36 example 
(but changed main to return void) I still get gcc complaining that I've got 
multiple definition :


gmkelly at glider:~/ethernut/nut/app/NutLCD2> make
avr-gcc -c -mmcu=atmega128 -Os -Wall -Wstrict-prototypes -Wa,-ahlms=nutlcd.lst 
-D__HARVARD_ARCH__  -I../../include  nutlcd.c -o nutlcd.o
avr-gcc nutlcd.o .o -mmcu=atmega128 -Wl,--defsym=main=0,-Map=nutlcd.map,--cref 
-L/AVR/GMK/AVR/EtherNUT/ethernut-3.9/nut/lib/  /AVR/GMK/AVR/EtherNUT/ethernut-3.9
/nut/lib//nutinit.o  -lnutnet -lnutpro -lnutfs -lnutos -lnutdev -lnutnet 
-lnutcrt -lnutdev -o nutlcd.elf
.o(.text+0xb6): In function `__bad_interrupt':
../../../crt1/gcrt1.S:99: multiple definition of `__bad_interrupt'
/AVR/GMK/Developments/AVR/cdk4avr/bin/../lib/gcc-lib/avr/3.3.2/../../../../avr/lib/avr5
/crtm128.o(.text+0x0):../../../crt1/gcrt1.S:99: first defined here
.o(.text+0x0): In function `__vectors':
../../../crt1/gcrt1.S:44: multiple definition of `__vectors'
/AVR/GMK/Developments/AVR/cdk4avr/bin/../lib/gcc-lib/avr/3.3.2/../../../../avr/lib/avr5
/crtm128.o(.vectors+0x0):../../../crt1/gcrt1.S:99: first defined here
.o(.text+0x98): In function `__vectors':
../../../crt1/gcrt1.S:83: multiple definition of `__do_copy_data'
/AVR/GMK/Developments/AVR/cdk4avr/bin/../lib/gcc-lib/avr/3.3.2/../../../../avr/lib/avr5
/crtm128.o(.init4+0x0):../../../crt1/gcrt1.S:99: first defined here
make: *** [nutlcd.elf] Error 1

My Makefile is attached for clarification (its very basic).

I don't understand [yet] why gcc acts so.
Any assistance is greatly appreciated, this is getting drawn out and 
frustrating.

--------------------
Cheers. Grahame


More information about the En-Nut-Discussion mailing list