gpt4 book ai didi

c - Makefile 产生错误 "No rule to make target"

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:16 24 4
gpt4 key购买 nike

我尝试使用其他两个最相关的主题来解决此问题: Makefile error: No rule to make target Makefile: No rule to make target. Stop

但似乎都没有解决我的问题。

我不确定我的代码哪里出了问题,因为我的讲师已验证代码在他这边有效。

我的 makefile 的代码是:

TARGET  = demo
FILES = test.c
OBJS = $(FILES:.c=.o)
ASMS = $(FILES:.c=.s)

all: $(TARGET)

$(TARGET): $(OBJS)
gcc -o $@ $^

%.o: %.c
gcc -c $< -o $@

%.s: %.c
gcc -S -masm=intel $< -o $@

asm: $(ASMS)

run: $(TARGET)
./$(TARGET)

clean:
rm -f $(TARGET) $(OBJS) $(ASMS)

但是,当我尝试执行“make run”时,它会产生结果

make: *** No rule to make target 'run'. Stop.

如这里所见image

我尝试编译的程序的实际代码只有 4 行长。我不认为这是问题的原因

#include <stdio.h>
char *msg = "Exam Lab 1";

int main(int argc, char *argv[]) {
printf("%s\n", msg);
}

这是我正在运行 make 的目录的内容:

http://i.imgur.com/r5EnwHj.png

最佳答案

您的 makefile 名称不正确。

默认情况下,make 查找名为 makefileMakefile 的文件。你的文件名为 Makefile.txt,所以 make 找不到它。

将名称更改为 makefileMakefile,或者使用 -f 选项指定 makefile 名称,例如。 make -f Makefile.txt.

关于c - Makefile 产生错误 "No rule to make target",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com