错误提示
build/core/base_rules.mk:XXX: *** Y/Z/A: MODULE.B already defined by C/D. stop
报错原因
上面这种提示的意思是说在某个变量或者模块MODULE.B已经在目录中C/D定义了,而在目录Y/Z/A中要再次被定义所以会提示错误。
总结一下,就是在上面两个目录中做了同样的事情所以引起冲突,所以出错。
解决办法
通过上面分析可以看出在上面的两个目录中同时定义一个变量或者模块,而我们需要做的就是比较一下上面两个目录中那个操作是需要的,而将不需要的那个操作屏蔽掉就可以了。
这里的屏蔽可以是删除,也可以是使用其他的名字命名Y/Z/A文件夹以及其下文件。