生成文件:没有规则来创建'*.o'所需的目标'*。停 [英] Makefile: no rule to make target '*.o', needed by '*'. Stop

查看:22
本文介绍了生成文件:没有规则来创建'*.o'所需的目标'*。停的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到以下错误

make: *** No rule to make target `stretchy_buffer.o', needed by `tsh'.  Stop

正在尝试创建此生成文件

SRCS = stretchy_buffer.c def.c tsh_builtin_commands.c tsh_jobs.c tsh_main.c tsh_routines.c tsh_signals.c
OBJS = $(SRCS:.c=.o)

tsh: $(OBJS)
    gcc -Wall -g -o tsh $(OBJS)

推荐答案

您需要在生成文件中添加以下规则:

CFLAGS = -Wall -g

%.o:%.c
    gcc $(CFLAGS) $< -o $@

在您现有的Makefile中,没有指定从*.c文件获取*.o的规则,因此报告了错误。

这篇关于生成文件:没有规则来创建&#39;*.o&#39;所需的目标&#39;*。停的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆