Linker Problem
-
Hallo,
ich wollte mir ein kleines OS schreiben und ich hatte vor einigen Tagen schon Probleme mit dem Kernel gehabt.
Jetzt funktioniert es, jedoch wenn ich mehrere Sourcefiles habe, weiß ich nicht, wie ich es mit einander linken soll.So habe ich es immer gemacht:
nasm -f bin -o %BINDIR%boot.bin %BINDIR%boot.asm
i586-elf-gcc -ffreestanding -I %BINDIR% -c %BINDIR%kernel.cpp -o %BINDIR%kernel.o
i586-elf-gcc -ffreestanding -I %BINDIR% -c %BINDIR%ACPI.cpp -o %BINDIR%ACPI.o
i586-elf-gcc -ffreestanding -I %BINDIR% -c %BINDIR%System.cpp -o %BINDIR%System.o
i586-elf-ld -T %BINDIR%link.ld -o kernel.bin ACPI.o System.o
copy boot.bin + kernel.bin OS.binJedoch findet er den Kernel nicht, aber wenn ich ACPI und System weglasse funktioniert es. Ich weis nicht, wie ich es miteinander verlinken soll und es zum laufen bringen soll.
Mfg
C++-CoderEdit: Hab's doch noch geschafft, denn ich habe noch das hier gemacht "i586-elf-ld -T %BINDIR%System.ld -o System.sys ACPI.o System.o" und dann noch "copy boot.bin + kernel.bin + System.sys OS.bin"