Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Jip am 11. March 2015, 22:39

Titel: Problem beim Linken des Kernels
Beitrag von: Jip am 11. March 2015, 22:39
Hallo,

ich habe ein kleines Problem beim Linken des Kernels: Welche ich nach der Anleitung http://www.lowlevel.eu/wiki/C-Kernel_mit_GRUB (http://www.lowlevel.eu/wiki/C-Kernel_mit_GRUB) versucht habe zu Linken. Allerdings habe ich den Kernel nicht in C sonder in C++ programmiert! Nun wird die Lib iostream nicht gelinkt! Wenn ich den Befehl:
$ ld -T <LD-Konfigurationsdatei> -o kernel.bin kernel_asm.o kernel_cpp.oausführe, kommen die Fehlermeldungen
undefined reference to ’std::cout’usw... Wie gebe ich dem Linker nun den Pfad von iostream muss ich den ins Linkerscript schreiben oder als Parameter setzen?
Titel: Re: Problem beim Linken des Kernels
Beitrag von: kevin am 11. March 2015, 23:01
Genau wie der C-Kernel kein printf() benutzen kann, weil er es nicht selbst implementiert hat, kannst du auch kein std::cout benutzen, ohne es selbst implementiert zu haben. Die Standardbibliothek von Linux hilft dir dabei nicht weiter.

Du wirst also auch für C++ erst einmal mit der while-Schleife aus dem Tutorial vorlieb nehmen müssen.
Titel: Re: Problem beim Linken des Kernels
Beitrag von: Jip am 12. March 2015, 18:33
ok, danke :-)