【问题标题】:Makefile Missing separator. StopMakefile 缺少分隔符。停止
【发布时间】:2015-10-23 18:58:42
【问题描述】:

我以前从未制作过makefile,但我们已经收到了这个,但是,如果我尝试运行它,它只会说,

缺少分隔符。停止。

我不知道可能出了什么问题 - 我已经确保空格只能按制表符。

 #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
[...]

【问题讨论】:

  • 是的,我已经阅读了很多这些,但我使用的是 tab :)
  • 证明什么?我正在使用标签?
  • @Linda 是的(最好使用十六进制转储)。
  • 我试图获取一个网页来制作一个十六进制转储 - 希望这就是你的意思:)

标签: makefile


【解决方案1】:

您的 Makefile 开头有一些有趣的字节:

 ef bf bc ef bf bc

统一码?字节顺序标记?还有什么好笑的?

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

【讨论】:

  • 那是两个“U+FFFC 对象替换字符”(假设为 UTF-8)。
  • 很好,谢谢你的帮助!我只是认为那是评论“#Rule for linking”:)
  • @melpomene 感谢您的解释!
猜你喜欢
  • 2023-03-21
  • 2019-02-06
  • 2022-01-20
  • 2013-09-26
相关资源
最近更新 更多