忍者中的词法错误是啥意思?
Posted
技术标签:
【中文标题】忍者中的词法错误是啥意思?【英文标题】:What does lexing error mean in ninja?忍者中的词法错误是什么意思? 【发布时间】:2016-09-28 23:52:26 【问题描述】:我是第一次使用 ninja 构建程序。我从 cmd 运行命令“ninja -f hello.c”,但收到错误“ninja: error: 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");
【问题讨论】:
main()
-> int main()
这并没有解决问题。
【参考方案1】:
我会说您正在尝试使用 .c
文件,您需要 build.ninja
作为构建的输入(因此 ninja
抱怨您的构建描述文件的语法)。
查看-f
选项说明:
usage: ninja [options] [targets...]
...
-f FILE specify input build file [default=build.ninja]
因此,如果您想选择要构建的目标,请不要指定-f
。
参考
The Ninja build system【讨论】:
以上是关于忍者中的词法错误是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章