在编译vivi时遇到了下面的个问题:
make[1]: *** No rule to make target `arch/s3c2410/head.o', needed by `vivi'. St
op.
make[1]: Leaving directory `/zheng/sbc/opt/FriendlyARM/SBC2410/vivi/arch'
make: *** [_dir_arch] Error 2
看过错误原因,原来是没有arch/s3c2410/head.o'这个文件了。
原因是我在做这个make之前做了个 make disclear 把相关的文件都删除了。就是把arch/s3c2410/head.o这个文件都删掉了。把这个文件再复制回到这个文件夹下面就可以了。
下面是在百度里搜到类似问题的解释:
楼主的问题我明白了,主要发生在make distclean和make clean的使用方面
前者既去除了创建(编译和链接的)的文件,有去除了经过配置所生成的文件;
后者只去除创建(编译和链接的)的文件,这种差别在执行此两个命令时出现的提示信息中有所体现(楼主自己可以试试)。
因此,将vivi编译成功的充分条件是:
1.若先前没有配置,也无老版本创建文件,则应该先配置(make menuconfig),再make;
2.若先前已配置,也无老版本创建文件,直接make即可;
3.若先前已配置,有老版本创建文件,先make clean,再make;
4.若先前没有配置,但有老版本创建文件(这种情况一般不会发生),先make clean,再make menuconfig,后make。
如果想修改配置,应先进行make distclean,再make menuconfig,最后make;
若在进行make distclean后直接make,则会先出现配置vivi的文本界面,然后编译,会出现的问题,但这时配置文件已经生成,只要先make clean,再make即可。
阅读(1591) | 评论(0) | 转发(0) |