Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet 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.o
ausfü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?
-
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.
-
ok, danke :-)