VS Code C编程,如何解决-Makefile:2: *** missing separator. Stop.?

9 浏览
0 Comments

VS Code C编程,如何解决-Makefile:2: *** missing separator. Stop.?

该问题已有答案:

makefile:4: *** missing separator. Stop

使用UBUNTU 20.4和编译器版本gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0,

我很新手vscode -

我用C构建了一个程序,在其主要参数中获取两个字符串(作为文件名)

所以我构建了这个Makefile,以便在检查代码编译和运行时节省时间,并像这样编写它:

all: //tried with and without "all:" line//
gcc main.c
./a.out ex1.bin ex2.bin
rm -i a.out

由于某种原因,在执行make后,我在终端中获得了此拒绝,并获得了以下内容:

Makefile:2: *** missing separator. Stop.

我做错了什么,该如何解决?

感谢帮助者

admin 更改状态以发布 2023年5月24日
0
0 Comments

请查看 Make规则语法

命令行以制表符开始(或使用.RECIPEPREFIX变量的值中的第一个字符;请参阅特殊变量)。第一行命令可以出现在先决条件的下一行,前面带有一个制表符;或者出现在同一行,前面带有一个分号。两种情况都是相同的。配方的语法还有其他的差异。请参见规则中的编写配方。

您必须使用TAB字符来开始目标all下的命令,因此请确保您的编辑器没有添加空格:

all:
    gcc main.c
    ./a.out ex1.bin ex2.bin
    rm -i a.out

由于您正在使用VS Code,因此可以在右下角选择Makefile语言模式,以确保每次按下TAB键时,它都是一个真正的TAB而不是空格。

enter image description here

0
0 Comments

如果Andrea Baldini的回答不起作用,看一下这个设置左边 enter image description here 。你可能会发现一个写着“Spaces: 4”的文本,点击它,在下拉菜单中选择“indent using Tabs”,然后选择4或任何其他值。这个解决方案对我有效。

0