ile uyumsuz Ubuntu kullanarak basit bir çekirdek oluşturmaya çalışıyorum. terminalde beni386 giriş dosyasının mimarisi, i386: x86-64
ld -Ttext 0x1000 -o kernel.bin loader.o main.o Video.o
daktilo Ama karşılığında aşağıdaki hata iletisi aldım:
ld: i386 architecture of input file `loader.o' is incompatible with i386:x86-64 output
ld: warning: cannot find entry symbol _start; defaulting to 0000000000001000
Bu çözümdü. X86_64'teki 32 bit uygulamaları derlerken/bağladığınızda, öykünmeyi "elf_i386" olarak ayarlamak, doğru elf biçimini sağlar. Örneğin, bir assembler uygulamasını "nasm -f elf file.asm -o file.o" ile derlerseniz, link komutu 'ld -m elf_i386 -o exename file.o'dur. –
Sadece -o file.o dosyasını '-o file file.o' ile değiştirmeyi unutmayın. – Ruslan