Makefile缺少分隔符。停止。

3
我以前从未制作过makefile,但我们已经拿到了这个文件,但是如果我尝试运行它,它只会显示“missing separator. stop.”(缺少分隔符。停止。) 我不知道哪里出了问题 - 我已确保使用Tab键制作空格。
 #Rule for linking
 randomNumbers: randomNumbers.o randomNumbers_functions.o
    cc -o randomNumbers randomNumbers.o randomNumbers_function.o

 # Rule for generating object code myprogram.o
 randomNumbers.o: randomNumbers.c myheader.h
    cc -c randomNumbers.c -std=c99 -Wall

 # Rule for generating object code routine1.o
 randomNumbers_functions.o: randomNumbers_functions.c
    cc -c randomNumbers_functions.c -std=c99 -Wall

我不太确定十六进制转储是什么,但我找到了一个可以执行此操作的网页,因此我认为这就是它:

0000-0010:  ef bf bc ef-bf bc 20 23-52 75 6c 65-20 66 6f 72  .......# Rule.for
0000-0020:  20 6c 69 6e-6b 69 6e 67-0a 72 61 6e-64 6f 6d 4e  .linking .randomN
0000-0030:  75 6d 62 65-72 73 3a 20-72 61 6e 64-6f 6d 4e 75  umbers:. randomNu
0000-0040:  6d 62 65 72-73 2e 6f 20-72 61 6e 64-6f 6d 4e 75  mbers.o. randomNu
[...]

2
可能是Make error: missing separator的重复问题。 - Etan Reisner
是的,我已经读了很多这样的内容,但我正在使用制表符 :) - some_name
证明什么?我在使用制表符吗? - some_name
@Linda 是的(最好附带十六进制转储)。 - melpomene
我尝试获取一个网页来进行十六进制转储 - 希望这就是您的意思 :) - some_name
1个回答

3

您的Makefile开头有一些奇怪的字节:

 ef bf bc ef bf bc

Unicode?字节顺序标记?还有其他奇怪的东西吗?

删除这些字节/字符,你的Makefile就应该可以工作了。


1
这是两个“U+FFFC OBJECT REPLACEMENT CHARACTER”(假设为UTF-8编码)。 - melpomene
1
很好,谢谢你的帮助!我刚才以为那是“#链接规则”的注释 :) - some_name
1
@melpomene 谢谢你的解释! - Jens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接