Makefile执行过程中出错:make: *** No rule to make target ` ‘, needed by xxx. Stop.

问题:

在mkefile添加了一点东西,编译却报了一些错误,不熟悉makefile的我找错花费了不少时间。

这里记录一下解决过程。同时总结一下其他错误

  • 如何让一个文件里的空格回车都能显示出来?

       工具:Notepad++

      

【错误一】  Makefile:34: *** missing separator.  Stop.

       

  •  原因1:

         上方标红的地方多了一个空格,报这样的错误,是因为把这个空格当作文件名字了,所以报错少了分隔符号

注意,不同地方多空格,报错可能也不一样。如果是最后一个文件多空格,报错内容不一样,会报错:make: *** No rule to make target `\', needed by `all'.  Stop

因为最后一个文件有空格,他把空格当文件名字了,肯定是找不到文件,而不是没有分隔符

                     

  • 原因2: 

 【错误二】make: *** No rule to make target `\', needed by `all'.  Stop

       

  • 原因1:最后一个依赖文件后有多余的空格,错误一种有说到      

为什么呢? 

Makefile在编译执行过程中,对于所依赖的条件,此处即一堆.o文件,结果由于最后nwy_ips_at_myretcid_zxw.o 后面,有多余的几个个空格,导致Makefile将该处的4个空格,视为一个文件了,所以,必然找不到该“文件”,所以才报错的。

所以,如果Makefile出现:make: *** No rule to make target ` ‘, needed by xxx. Stop.的错误,那么基本上都是属于找不到所依赖的文件所导致的,所以应该去:检测确保,所依赖的文件,是否真实存在。

  • 原因2:所依赖文件名字写错了,所以找不到这个文件。需要仔细核对

【错误三】make: *** No rule to make target ` ‘, needed by xxx. Stop.

这种大都是你写上去的依赖文件,.o .h .c .cpp 在指定路径下没找到

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值