C 我在';我在做什么

C 我在';我在做什么,c,gcc,makefile,C,Gcc,Makefile,你好,我正在工作,当我做make时,出现了这个C make文件错误 生成文件:12:**缺少分隔符。停下来 谢谢 # # # CC=gcc CFLAGS=-Wall all : count .PHONY : all count : main.o get.o $(CC) $(CFLAGS) -o count main.o get.o main.o : main.c $(CC) $(CFLAGS) -c -o main.o main.c get.o : ge

你好,我正在工作,当我做make时,出现了这个C make文件错误

生成文件:12:**缺少分隔符。停下来

谢谢

#
#
#
CC=gcc
CFLAGS=-Wall


all : count
.PHONY : all

count : main.o get.o
       $(CC) $(CFLAGS) -o count main.o get.o


main.o : main.c
        $(CC) $(CFLAGS) -c -o main.o main.c

get.o : get.c
       $(CC) $(CFLAGS) -c -o get.o get.c


debug:clean get.c main.c 
        gcc -Wall -g -o test get.c main.c
        gdb -tui test

.PHONY: clean
clean : 
        rm -rf *.o

make与tabs的关系非常愚蠢。每个规则的所有操作都由选项卡标识。而且,不,四个空格不构成一个标签。只有制表符才能制表\

只需将空格更改为选项卡


在VS代码中,只需单击右下角的“空格:4”,并在编辑Makefile时将其更改为tab。

我将空格更改为tab,但不起作用,这意味着编辑器在编写文件时将选项卡转换回空格。您需要找到一个知道如何编辑makefile的编辑器,这意味着它知道保留选项卡。或者,您可以使用
.RECIPEPREFIX
功能将配方介绍字符从选项卡更改为其他字符(这需要GNU make,不能与其他版本的make一起使用)。我删除了代码行后的所有空格,空行没有空格或选项卡,并将所有空格更改为选项卡,请编辑您的问题以显示
cat-A makefile
的输出(当然假设您的
makefile
名为“makefile”)。