一、现象

我将之前Redhat9.0编译好的uboot,转到ubuntu12.04环境。在ubuntu环境下对 uboot重新编译提示错误。编译过程如下:

root@hailin-virtual-machine:/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06#  make clean
    root@hailin-virtual-machine:/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06#  make TX2440_config
        Configuring for TX2440 board...
    root@hailin-virtual-machine:/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06#  make -j4
        Generating include/autoconf.mk
        Generating include/autoconf.mk.dep
for dir in tools examples/standalone examples/api arch/arm/cpu/arm920t /home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/arch/arm/cpu/arm920t/ ; do \
make -C $dir _depend ; done
make[1]: 正在进入目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/tools'
make[1]: 没有什么可以做的为 `_depend'。
make[1]:正在离开目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/tools'

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。此处省略部分编译输出
make[1]: 正在进入目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/tools'
make[1]: *** 没有规则可以创建“crc32.o”需要的目标“/home/hailin/u-boot-2010.06/lib/crc32.c”。 停止。
make[1]:正在离开目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/tools'
make: *** [tools] 错误 2
make: *** 正在等待未完成的任务....
make[1]: 正在进入目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/examples/standalone'
make[1]: *** 没有规则可以创建“hello_world.o”需要的目标“/home/hailin/u-boot-2010.06/include/common.h”。 停止。
make[1]:正在离开目录 `/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06/examples/standalone'
make: *** [examples/standalone] 错误 2
make: *** wait: 没有子进程。 停止。

root@hailin-virtual-machine:/home/hailin/桌面/dream/tx2440/uboot/u-boot-2010.06#

为什么之前在redhat环境中,可以成功编译,而到ubuntu环境会出现没有规则呢??

二、解决方法

输入以下命令:

make disclean

make TX2440_config

make  -j4

输出结果:

为什么 将make clean 换成 make distclean就成功???

三、原理

首先我们不得不提到: make clean 和make distclean的区别:
make clean仅仅是清除之前编译的可执行文件及配置文件。
而make distclean要清除所有生成的文件
make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。

从上面的解析可以看出,上面的问题的根源是因为,从redhat拿来uboot代码里面已经有配置文件,是根据原来的编译环境生成的,仅仅通过make clean并不能清楚之前的配置文件,没有清除之前的配置文件就进行编译,编译器本着相信程序员的态度,编译时不会产生新的configure生成的附带文件,而是根据原来的configure生成的文件进行编译,这样就会导致上面的一系列编译错误。make distclean可以将所有的垃圾,之前环境所有的余孽清理干净,这样就不会给编译器偷懒的机会。

**没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案的更多相关文章

  1. 【lunux-make: *** 没有规则可以创建目标“install”。 停止。问题】

    [root@localhost nginx-1.8.0]# make installmake: *** 没有规则可以创建目标“install”. 停止.

  2. 编译U-boot时,make[1]: *** 没有规则可以创建mkimage.o”

    执行完make smdk2440_config 对Uboot重行编译怎么会出现这样的错误 make[1]: Entering directory `/home/win/S3-ARM/Part4/ubo ...

  3. 【原】使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS"的解决

    问题:使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS",怎么办? 解决:如果只是删除工程,还会有这样的提示.说到底, ...

  4. 原创:XXX公司-基于SAP的库存管理系统解决方案

    XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识:   当前版本: V0.3 作 者 ...

  5. 【转】Vue 脱坑记 - 查漏补缺(汇总下群里高频询问的xxx及给出不靠谱的解决方案)

    前言 文章内容覆盖范围,芝麻绿豆的破问题都有,不止于vue; 给出的是方案,但不是手把手一字一句的给你说十万个为什么! 有三类人不适合此篇文章: “喜欢站在道德制高点的圣母婊” – 适合去教堂 “无理 ...

  6. Vue 脱坑记 - 查漏补缺(汇总下群里高频询问的xxx及给出不靠谱的解决方案)

    前言 发现群里有些问题的提问重复率太高了,每次都去回答,回答的贼烦.这里做一个大体的汇总,废话不多说,直接开始给出方案,不是手把手..若是连问题和解决都看不懂的..应该去补充下基础知识 问题汇总 Q: ...

  7. log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log]

    Log4j报错: log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log] google了一下发现是个b ...

  8. Struts2中DMI(动态方法调用)的错误问题(There is no Action mapped for namespace [/xxx] and action name [xxx!yyy] a)

    默认的Struts.xml中是这样的 <constant name="struts.enable.DynamicMethodInvocation" value="f ...

  9. 无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

    无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘 ...

随机推荐

  1. ios 微信登录相关

    引入项目的文件 info.plist 添加内容 WXApi.registerApp(Config.wx.APP_ID,enableMTA: true)//注册微信api(在AppDelegate里面注 ...

  2. 使用CSS 实现菱形图片,斜条纹背景

    比较简单的菱形图片: 效果如下 代码部分: <div class="d1"> <img src="img/5.jpg"> </di ...

  3. Linux —— 常用命令集合

    关机和重启命令 shutdown [选项] 时间 (添加&,把关机任务放在后台执行) 只有shutdown可以保存关机时资源 操作选项 重启: r 关机: h 取消一个关机任务: c 关机命令 ...

  4. UVA297:Quadtrees(四分树)

    题目描述 四象树是每个内结点均有4个子结点的特殊四叉树,它可用于描述平面上黑白图像.平面上的黑白图像是32行×32列的正方形,每个格子称为1个象素,是最小的图像单位.正方形图像可分成四个相等的小正方形 ...

  5. eclipse打开jsp的方式怎么设置成默认

    https://jingyan.baidu.com/article/4ae03de34137be3eff9e6b93.html

  6. 112 Path Sum 路径总和

    给定一棵二叉树和一个总和,确定该树中是否存在根到叶的路径,这条路径的所有值相加等于给定的总和.例如:给定下面的二叉树和 总和 = 22,              5             / \  ...

  7. 102 Binary Tree Level Order Traversal 二叉树的层次遍历

    给定一个二叉树,返回其按层次遍历的节点值. (即zhu'ceng'de,从左到右访问).例如:给定二叉树: [3,9,20,null,null,15,7],    3   / \  9  20    ...

  8. 玲珑杯”ACM比赛 Round #4 1054 - String cut 暴力。学到了扫描的另一种思想

    http://www.ifrog.cc/acm/problem/1054 问删除一个字符后的最小循环节是多少. 比赛的时候想不出,不知道怎么暴力. 赛后看了别人代码才晓得.唉,还以为自己字符串还不错, ...

  9. 安装wamp时出现httpd.exe无法找到组件MSVCR100.dll的解决办法

    很多朋友在安装wamp server时会出现以下错误,安装之后无法启动httpd.exe服务. --------------------------- httpd.exe - 无法找到组件 ----- ...

  10. 一步步实现自己的ORM(五)

    上一张优化了ORM的INSERT.UPDATE.DELETE,但将数据库里的值填充到实体类这块还没优化.另外有博友在网上咨询说你这个都是查询所有字段的,而他的需求是按需查询字段,不是一次性取出来所有字 ...