C++ コンパイラ (G++) を使用して C ファイルをコンパイルしようとしたため、NDK r9d を使用して 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 ファイルの場合のみ)。
他の誰かが同じ問題を抱えていることがわかりました (ターゲット 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 を有効にしてコンパイルします。ご協力いただきありがとうございます。