编译时错误提示:XXX already defined by YYYY

错误提示:

在编译中我们有时会碰到一种错误提示如下:

build/core/base_rules.mk:XXX: *** YYYY/ZZZZ/AAAA: MODULE.BBBB already defined by CCCC/DDDD. stop

分析原因:

 上面这种提示的意思是说在某个变量或者模块MODULE.BBBB已经在目录中CCCC/DDDD定义了,而在目录YYYY/ZZZZ/AAAA中要再次被定义所以会提示错误。总结一下就是在上面两个目录中做了同样的事情所以引起冲突,所以出错。

解决方法:

通过上面分析可以看出在上面的两个目录中同时定义一个变量或者模块,而我们需要做的就是比较一下上面两个目录中那个操作是需要的,而将不需要的那个操作屏蔽掉就可以了。这里的屏蔽可以是删除,也可以是使用其他的名字命名。

个人例子说明:

我个人在里犯错误是因为我在目录YYYY/ZZZZ/AAAA中要将一个库文件编译为so库。并提供给目录CCCC/DDDD使用。而在目录CCCC/DDDD中我已经有了这个库,所以这里会出现这个错误。

所以我在一些博客中看到有的同学在编译的时候使用make clean;make这是有必要的,这样有时候可以避免一些这样的错误。

参考文章:

Android源码编译 build/core/base_rules.mk 报错解决方法
kernel-module – MODULE.TARGET.SHARED_LIBRARIES.libjpeg已定义错误

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值