代码中出现错误?

时间:2017-04-06 20:13:44

标签: makefile

第9行显示错误,"缺少分隔符"。但是我给了空格代替标签。错误在哪里?

#sudo apt-get install g++ binutils libc6-dev-i386
GCCPRAMS = -m32 -fno-use-cxa-atexit -fno-builtin -fno-rtti -fno-exception -fno-leading-underscore
ASPARAMS = --32
LDPARAMS = -melf_i386

objects = loader.o kernel.o

%.o: %.cpp
    gcc $(GCCPRAMS) -c -o $@ $<

loader.o: loader.s
    as $(ASPARAMS) -o $@ $<

mykernel.bin: linker.ld $(objects)
    ld $(LDPARAMS) -T $< -o $@ $(objects)

install: mykernel.bin
    sudo cp $< /boot/mykernel.bin

mykernel.iso: mykernel.bin
    mkdir iso
    mkdir iso/boot
    mkdir iso/boot/grub
    cp $< iso/boot/
    echo 'set timeout=0' > iso/boot/grub/grub.cfg
    echo 'set default=0' >> iso/boot/grub/grub.cfg
    echo '' >> iso/boot/grub/grub.cfg
    echo 'menuentry "My Operating System" {' >> iso/boot/grub/grub.cfg
    echo 'multiboot /boot/mykernel.bin' >> iso/boot/grub/grub.cfg
    echo 'boot' >> iso/boot/grub/grub.cfg
    echo '}' >> iso/boot/grub/grub.cfg
  1. 当我在命令shell中通过输入make显示错误来运行它时, makefile:9:* 缺少分隔符。停止。**。我删除了文件中的空格&#34; makefile&#34;但仍然显示错误
  2. 显示&#34; -m32 -fno-use-cxa-atexit -fno-builtin -fno-rtti -fno-exception -fno-leading-underscore&#34;不是命令。如何安装

1 个答案:

答案 0 :(得分:0)

第9行是以空格而不是制表符开头的吗?您必须使用标签缩进规则中的命令。