***没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案

每个诡异错误的背后。都隐藏着一个低级错误。真理重新得到验证。正如只所以会有这篇博文也是如此,拿别人的一个uboot源码直接过来编译,操作如下:

顶层Makefile已经生成完毕
#make clean
#make mini2440_config
#make
出现错误如下:
***没有规则可以创建鈥淴XX鈥澬枰哪勘赈淴XX鈥澪侍獾慕饩龇桨
给我的第一感觉分析,我该清的都清了,前面不是已经做了makeclean操作了么?现在是不是Makefile出现了问题,我该源码具备的编译环境,我的源码需要放在特定的路径下编译,种种答案一一尝试,而该问题给我的回应是无止无休的***没有规则可以创建***类似的错误。所有的方法用尽,最后来了个大扫除,make distclean,再makemini2440_config,make,编译竟然一次性通过,没有任何问题。截图如下:
***没有规则可以创建鈥淴XX鈥澬枰哪勘赈淴XX鈥澪侍獾慕饩龇桨
对于问题不能知其然而不知其所以然,毛主席教导我们要有实事求是的作风,本人也一直秉着必须要知其然也知其所以然的态度,下面让我们来探究一下,为什么makedistclean可以解决这个问题。
首先我们不得不提到: makeclean 和make distclean的区别:
make clean仅仅是清除之前编译的可执行文件及配置文件。
而make distclean要清除所有生成的文件
makedistclean类似makeclean,但同时也将configure生成的文件全部删除掉,包括Makefile。
我们本着拿来主义的精神,但是拿来主意也让我们的人生道路中荆棘丛丛,从上面的解析可以看出,上面的问题的根源是因为,经过拿来主义的代码里面已经有配置文件,是根据原来的编译环境生成的,仅仅通过makeclean并不能清楚之前的配置文件,没有清除之前的配置文件就进行编译, 编译器本着相信程序员的态度, 编译时不会产生新的 configure生成的附带文件 ,而是根据原来的 configure生成的文件 进行编译,这样就会导致上面的一系列编译错误。makedistclean可以将所有的垃圾,之前环境所有的余孽清理干净,这样就不会给编译器偷懒的机会。那么一个馒头引发的血案就解析完毕。

 转自:http://blog.sina.com.cn/s/blog_4b003c5501014mai.html
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值