Android ndk 覆盖目标Android Makefile的命令

Android ndk 覆盖目标Android Makefile的命令,android-ndk,makefile,Android Ndk,Makefile,我正在尝试用g++编译我的androidndk项目中的一个模块,尽管源代码都是C语言。 我的眼睛被make系统警告激怒了: `C:/NVPACK/android-ndk-r8d/build/core/build-binary.mk:348: warning: overriding commands for target 'obj/local/armeabi/objs/xxx/yyy.o'` `C:/NVPACK/android-ndk-r8d/build/core/build-binary.

我正在尝试用g++编译我的androidndk项目中的一个模块,尽管源代码都是C语言。 我的眼睛被make系统警告激怒了:

`C:/NVPACK/android-ndk-r8d/build/core/build-binary.mk:348: warning: overriding commands for target 'obj/local/armeabi/objs/xxx/yyy.o'`  
`C:/NVPACK/android-ndk-r8d/build/core/build-binary.mk:345: warning: ignoring old commands for target 'obj/local/armeabi/objs/xxx/yyy.o'`
这些警告对的打印量与源文件和对象的打印量相同

我试着用所有不同的风格来声明本地文件

`LOCAL_SRC_FILES :=  
$(LOCAL_PATH)/Directory/source.c   
$(notdir $(wildcard $(LOCAL_PATH)/*.c))  
$(notdir $(wildcard $(LOCAL_PATH)/Directory/*.c))  
$(addprefix DirectoryPrefix/,$(notdir $(wildcard $(LOCAL_PATH)/Directory/*.c)))`
但警告仍然存在。
使文档显示:
警告:覆盖目标xxx“”的命令 警告:忽略目标xxx“”的旧命令 GNU make允许每个目标只指定一次命令(双冒号规则除外)。如果为已定义为具有命令的目标发出命令,则会发出此警告,第二组命令将覆盖第一组命令

但我完全无法理解这两者之间的关系。 在处理后,似乎让g++编译这些C文件会出现此警告。
因此,指定此语句:
LOCAL\u CPP\u扩展名:=.c


这使得用g++构建C文件成为可能。因为在使用gcc编译时,不会打印任何警告。

请确保已包含清除变量:

include $(CLEAR_VARS)
如果构建任何其他包含正确构建宏的库,如

include $(BUILD_SHARED_LIBRARY)
我在一两天前遇到了这个问题,在添加一个新库时,我忘记了包含其中一个(我认为CLEAR_VARS最有意义),因此它将一些值从主库重新附加到子库,或者反之亦然