我在使用 NDK r9d 构建 C++ 代码时遇到问题,因为我尝试使用 C++ 编译器 (G++) 编译 C 文件,因此收到以下警告:
C:/Android/ndk/build/core/build-binary.mk:393: warning: overriding commands for target
C:/Android/ndk/build/core/build-binary.mk:391: warning: ignoring old commands for target
在我不需要用 C++ 11 编译并且我的 C 文件是用 GCC 编译之前,我没有任何问题,但是因为我有LOCAL_CPP_EXTENSION := .cpp .c
,所以出现了这个警告(仅适用于 C 文件)。
我发现其他人也有同样的问题(Overriding commands for target Android Makefile)但没有得到任何答案。
这是我的文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
MY_INC_PATH := ../../..
LOCAL_MODULE := test
LOCAL_CFLAGS := -Werror
LOCAL_CPPFLAGS := -std=c++11
LOCAL_LDLIBS := -ldl -llog -lGLESv1_CM
LOCAL_C_INCLUDES := \
$(MY_INC_PATH)
MY_SRC_PATH := ../../../..
LOCAL_CPP_EXTENSION := .cpp .c
LOCAL_SRC_FILES := \
$(MY_SRC_PATH)/XXX.c \
$(MY_SRC_PATH)/YYY.cpp \
$(MY_SRC_PATH)/ZZZ.cpp
include $(BUILD_SHARED_LIBRARY)
我使用 NDK r9d 并在激活 G++ 4.8 和 C++ 11 的情况下进行编译。谢谢你的帮助。