【问题标题】:I got this C make file error when i'm doing make我在做 make 时遇到了这个 C make 文件错误
【发布时间】:2023-03-09 07:26:01
【问题描述】:

你好,我正在工作,当我在做 make 时得到这个 C make 文件错误

Make file: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

【问题讨论】:

  • 请编辑您的问题以显示cat -A makefile 的输出(假设您的makefile 当然被命名为“makefile”)。

标签: c gcc makefile


【解决方案1】:

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

只需将空格更改为制表符即可。

在 VS Code 上,只需单击右下角的“空格:4”,然后在编辑 Makefile 时将其更改为选项卡。

【讨论】:

  • 这只是意味着您的编辑器在编写文件时将 TAB 转换回空格。您需要找到一个知道如何编辑 makefile 的编辑器,这意味着它知道如何保留 TAB。或者,您可以使用.RECIPEPREFIX 功能将配方介绍字符从 TAB 更改为其他字符(这需要 GNU make,并且不适用于其他版本的 make)。
  • 我删除了代码行之后的每个空格,没有空格或制表符的空行,并将所有空格更改为制表符,它对我有用。
猜你喜欢
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 2023-01-30
  • 2022-10-30
相关资源
最近更新 更多