Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: ReduX am 22. November 2007, 18:42

Titel: undefined references
Beitrag von: ReduX am 22. November 2007, 18:42
Hi,
Hab heute mal mein os compilen wollen, jedoch bekomme ich beim linken folgendes:
.\compiled\kernel32.obj(.text+0x1): undefined reference to `__main'
.\compiled\kernel32.obj(.text+0xb): undefined reference to `__atexit'
.\compiled\video.obj(.text+0x1aa):video.cpp: undefined reference to `_setmem'
.\compiled\video.obj(.text+0x207):video.cpp: undefined reference to `_memcpy'
.\compiled\video.obj(.text+0x23c):video.cpp: undefined reference to `_setmem'
Ich habe das C++ im Kernel Tutorial durchgemacht!
Wegen __main und __atexit diese sind ja in der kernel32.asm als extern gemacht und in der support.cpp deklariert.
Bei den anderen funktionen:
Diese hab ich in ASM(funktion.asm) deklariert und in der headerdatei als extern C instalisiert.
Alle obj Files sind im Linker skript eingetragen warum funktioniert es nicht?

MFG ReduX
Titel: Re: undefined references
Beitrag von: bluecode am 22. November 2007, 20:04
Wegen __main und __atexit diese sind ja in der kernel32.asm als extern gemacht und in der support.cpp deklariert.
Sind die in der support.cpp als extern "C" deklariert?

Zitat
Diese hab ich in ASM(funktion.asm) deklariert und in der headerdatei als extern C instalisiert.
Sind sie in funktion.asm auch als global deklariert? in Nasm/Yasm geht das über ".global functionsname".
Titel: Re: undefined references
Beitrag von: ReduX am 22. November 2007, 21:06
Hi,
Mit global werden die Funktionen nun erkannt.
Ich habe dann noch die Funktionen aus der support.cpp als extern "C" deklariert ist dies auch richtig? Weil im Tut ist davon keine Rede.

MFG ReduX
Titel: Re: undefined references
Beitrag von: bluecode am 22. November 2007, 21:50
Ich habe dann noch die Funktionen aus der support.cpp als extern "C" deklariert ist dies auch richtig?
Jo, das meinte ich ja. Funktioniert es denn jetzt?

Zitat
Weil im Tut ist davon keine Rede.
Welchem den überhaupt?
Titel: Re: undefined references
Beitrag von: ReduX am 23. November 2007, 13:22
Zitat
Jo, das meinte ich ja. Funktioniert es denn jetzt?
Funktionieren tuts jetzt!
Zitat
Welchem den überhaupt?
Das Tut heißt "C++ im Kernel".

MFG ReduX