lexing错误在忍者中意味着什么?

时间:2016-09-28 23:52:27

标签: makefile ninja

我正在使用忍者第一次建立一个程序。我运行命令' ninja -f hello.c'从cmd但得到错误" ninja:错误:hello.c:1:lexing error"。这是为什么会发生的?这是我的build.ninja文件:

# build.ninja
cc     = clang
cflags = -Weverything

rule compile
command = $cc $cflags -c $in -o $out

rule link
command = $cc $in -o $out

build hello.o: compile hello.c
build hello: link hello.o

default hello

这是Hello.c:

#include<stdio.h>

int main()
{
   printf("Hello World");

}

1 个答案:

答案 0 :(得分:1)

我会说您正在尝试使用.c文件,您需要build.ninja作为构建的输入(因此ninja抱怨您的构建说明的语法文件)。

请参阅-f选项说明:

usage: ninja [options] [targets...]
...
  -f FILE  specify input build file [default=build.ninja]

因此,如果要选择要构建的目标,请不要指定-f

<强>参考