我通过以下命令获得此Makefile:
all:
gcc -MD -fno-builtin -nostdinc -fno-stack-protector -Os -g -m32 -I. -c -o boot0.o boot0.S
ld -nostdlib -m elf_i386 -N -e start -Ttext 0x7c00 -o boot0.elf boot0.o
objcopy -S -O binary boot0.elf boot0
....
虽然这些命令是预先编写的,但是我只是复制并粘贴到makefile中,但是>
make all
在终端,它将返回
make: objcopy: command not found
考虑到我通过VMBox运行Xubuntu,这是不可能的。但是后来我发现,如果我手动键入该命令,它将起作用。但是,如果我将命令复制并粘贴到终端中,它将无法正常工作。即使我确实粘贴了它,也需要重新键入
objcopy
才能使它起作用。但是此技巧不适用于makefile。它也发生在gcc
和ld
上,但是当我在makefile中重新键入命令而不是objcopy
时,它们最终都可以工作。这是什么问题?
我使用以下命令获取此Makefile:全部:gcc -MD -fno-builtin -nostdinc -fno-stack-protector -Os -g -m32 -I。 -c -o boot0.o boot0.S ld -nostdlib -m elf_i386 -N -e start -Ttext ...
但是后来我发现,如果我手动键入该命令,它将工作。但是,如果我将命令复制并粘贴到终奌站。即使我确实粘贴了它,我也需要重新键入objcopy才能使它工作。