我有建築物使用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