我有建筑物使用NDK r9d我的C++代码的问题,因为我尝试使用C++编译器(G ++)我得到这个警告编译C文件:警告:目标重写命令的Android的Makefile
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编译。谢谢你的帮助。
你为什么要将C文件编译为C++? –
因为库在C中编写,所以现在使用一些C++代码从std中随机生成一个。该库不是我的,我会看看我是否可以将它改为C++。 – johnlamericain