2016-09-28 942 views
0

我正在使用忍者来首次构建一个程序。我从cmd运行命令“ninja -f hello.c”,但得到错误“ninja:error:hello.c:1:lexing error”。为什么会发生这种情况?这里是我的build.ninja文件:lexing错误在忍者中意味着什么?

# 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"); 

} 
+0

'主()' - >'INT主要()' – user657267

+0

没有解决不了的问题。 –

回答

1

我会说你是试图采取.c文件,你需要一个build.ninja作为输入您的建立(所以ninja抱怨你的构建描述文件的语法)。

-f选项说明:

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

所以,如果你想选择一个目标是建立不指定-f

参考