Makefile 报错: resources.c 文件 *** 遗漏分隔符

一般来说在Makefile中,如果报错“*** 遗漏分隔符”, 应该是该使用 TAB的地方使用了空格,可是我的报错却是在.c 文件里面,特别奇怪,先说一下背景 --

用Makefile 管理一个c++ 工程,全部是.cpp文件,然后,需要添加一个  resource.c 文件进来,  Makefile 内容如下:

SRCS += main.cpp      \
        Application.cpp  \
        resources.c

DEPS += $(SRCS:%.cpp=%.d)

...
...
-include $(DEPS)

其中 resource.c 是新添加, 把它换成 resource.cpp 也不会报错。 经过一番斗争,终于找到了原因:

原来 -include $(DEPS),展开是 include  main.d  Application.d 等一系列.d文件, 这些 .d文件是符合 makefile 的语法, 增加resourc.c 后,  DEPS  += $(SRCS:%.cpp=%.d)不能把 .c 文件名 替换成 .d文件名, 展开后,变成了 include resource.c , 而这个.c文件是不符合Makefile语法的, make 把这个resource.c 当成了 makefile 文件,就出现了标题中的错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值