我尝试使用其他两个最相关的主题来修复此问题: Makefile 错误:没有创建目标的规则 Makefile:没有创建目标的规则。停止
但似乎都没有解决我的问题。
我不确定我的代码哪里出了问题,因为我的导师验证了代码在他那一端是否有效。
我的 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)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试执行“make run”时,它会产生结果
make: *** No rule to make target 'run'. Stop.
Run Code Online (Sandbox Code Playgroud)
正如这里所看到的图像
我尝试编译的程序的实际代码只有 4 行长。我不认为这是问题的原因
#include <stdio.h>
char *msg = "Exam Lab 1";
int …
Run Code Online (Sandbox Code Playgroud)