gpt4 book ai didi

c - makefile:4: *** 缺少分隔符。停止

转载 作者:行者123 更新时间:2023-11-30 17:38:42 28 4
gpt4 key购买 nike

这是我的 makefile:

all:ll

ll:ll.c
gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $<

clean :
\rm -fr ll

当我尝试 make cleanmake make 时,出现此错误:

:makefile:4: *** missing separator.  Stop.

如何修复它?

最佳答案

make 定义了 tab is required to start each recipe 。每个规则的所有操作均由选项卡标识。如果您希望在食谱中使用制表符以外的字符作为前缀,则可以将 .RECIPEPREFIX 变量设置为备用字符。

为了进行检查,我使用命令 cat -e -t -v makefile_name

它显示了带有 ^I 的制表符和带有 $ 的行结尾。两者对于确保依赖项正确结束都至关重要,并且选项卡标记规则的操作,以便 make 实用程序轻松识别它们。

示例:

Kaizen ~/so_test $ cat -e -t -v  mk.t
all:ll$ ## here the $ is end of line ...
$
ll:ll.c $
^Igcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $<$
## the ^I above means a tab was there before the action part, so this line is ok .
$
clean :$
\rm -fr ll$
## see here there is no ^I which means , tab is not present ....
## in this case you need to open the file again and edit/ensure a tab
## starts the action part

关于c - makefile:4: *** 缺少分隔符。停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059196/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com