新手菜鸟学习makefile-大家帮忙看看问题在哪,谢谢

refine19 2011-10-26 07:49:20
RT,src目录下只有fork.c和fork.h文件。
Makefile文件内容:
OBJS = fork.o

CC = gcc
CFLAGS = -c -g
LDFLAGS = -g
RM = rm -f

fork:$(OBJS)
tab $(CC) $(LDFLAGS) -o $@ $<
OBJS:fork.c fork.h
tab $(CC) $(CFLAGS) $< -o $@

clean:
tab $(RM) $(OBJS)

出现的问题是:***没有规则可以创建fork需要的目标“fork.o”
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
refine19 2011-11-01
  • 打赏
  • 举报
回复
额,按照subsata通知的方法修改了以后问题仍然存在,个人认为还是在链接那一句除了问题,但是又找不到问题所在……
李迟 2011-10-28
  • 打赏
  • 举报
回复
在编译.o文件时,加上-c看看。
$(OBJS):fork.c fork.h
tab $(CC) $(CFLAGS) $< -o $@
-->
$(OBJS):fork.c fork.h
tab $(CC) -c $< -o $@

实际的编译步骤如下:
gcc -c foo.c(生成foo.o)
gcc foo.o -o foo(生成可执行文件)
refine19 2011-10-28
  • 打赏
  • 举报
回复
呵呵,谢谢楼上解答,按照楼上修改之后又出现了问题,修改后代码如下:

问题如下:

不知是何原因,还请高手解答
哈皮歪詩 2011-10-27
  • 打赏
  • 举报
回复
Try change

OBJS:fork.c fork.h
tab $(CC) $(CFLAGS) $< -o $@


to

$(OBJS):fork.c fork.h
tab $(CC) $(CFLAGS) $< -o $@

or to

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



guozhgang 2011-10-26
  • 打赏
  • 举报
回复
此类问题不曾见过

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧