symbol wird nicht gefunden

31/03/2012 - 21:37 von Jens Kallup | Report spam
Hallo an Alle,

warum wird das Symbol vom Linker nicht erkannt?
ich erhalte als Ausgabe:

ld -N -Ttext=0x8000 -L./boot/loader -nostdlib -o ./boot/loader/loader.exe \
./boot/loader/boot.o \
./boot/loader/modes.o \
./boot/loader/start.o \
./boot/loader/hardware.o \
./boot/loader/video.o \
./boot/loader/mm.o \
./boot/fat.o \
./boot/loader/stdlib.o \
./boot/loader/int386.o \
./boot/loader/portio.o \
./boot/loader/i386trap.o \
./boot/loader/i386idt.o \
./boot/loader/_umoddi3.o ./boot/loader/_udivdi3.o \
./boot/loader/idt.o \
./boot/loader/printk.o \
./boot/loader/pic.o \
./boot/loader/panic.o \
./boot/loader/ints.obj \
./boot/loader/vsprintf.o \
./boot/loader/drivers/mindrvr.o
./boot/loader/start.o:start.c:(.text+0x11f): undefined reference to
`int_32_int'


[extern _testint]
[global _int_32_int]
_int_32_int:
pusha
push ds
push es
push fs
push gs
mov eax,0x10 ; Data segment
mov ds,eax
mov es,eax
cld
call _testint ; Test Interrupt Handler
pop gs
pop fs
pop es
pop ds
popa
iret


und hier der C Code Teil:

extern void int_32_int(void);

...
AddInt(48, int_32_int, 0);
...

den aktuellen Code kànnt ihr auch unter
http://db.db.ohost.de/src.rar
saugen
Gruß
Jens
 

Lesen sie die antworten

#1 Stefan Reuther
31/03/2012 - 23:19 | Warnen spam
Jens Kallup wrote:
warum wird das Symbol vom Linker nicht erkannt?


[...]
./boot/loader/start.o:start.c:(.text+0x11f): undefined reference to
`int_32_int'

[extern _testint]
[global _int_32_int]
_int_32_int:



Ich vermute mal, weil du ein Symbol 'int_32_int' benutzt, aber ein
Symbol '_int_32_int' definierst?


Stefan

Ähnliche fragen