我只是尝试使用make qemu-nox在Ubuntu 18.04.3中编译xv6

它失败,并出现以下错误。您能给我一些有关此错误的信息吗?


  ld -m elf_i386 -T kernel.ld -o内核entry.o bio.o console.o exec.o file.o fs.o ide.o ioapic.o kalloc.o kbd.o lapic.o log.o main。 o mp.o picirq.o pipe.o proc.o sleeplock.o spinlock.o string.o swtch.o syscall.o sysfile.o sysproc.o trapasm.o trap.o uart.o vectors.o vm.o- b二进制initcode输入其他
  trap.o:在功能tvinit': /home/lee/OS-Homework/trap.c:23: undefined reference to vectors中
  /home/lee/OS-Homework/trap.c:24:对“ vectors”的未定义引用
  Makefile:124:目标“内核”的配方失败
  make:*** [内核]错误1

最佳答案

链接时,ld抱怨缺少规则vectors生成的vectors.S数组

vectors.S: vectors.pl
    perl vectors.pl > vectors.S


似乎未生成此规则...

要构建vector.S,只需在make vectors.S之前键入make qemu-nox,甚至在一个命令中输入:

make vectors.S qemu-nox

关于linux - 在Ubuntu中编译xv6时出错(Makefile:124:目标“内核”的配方失败),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59122919/

10-16 13:50