Android ndk 警告:覆盖目标Android Makefile的命令 我有一个问题,用NDKR9D来构造我的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编译的,我没有问题,但是因为我有 LoalZOPPPUL:= .CPP.C./COD>,这个警告只出现在C文件中。

Android ndk 警告:覆盖目标Android Makefile的命令 我有一个问题,用NDKR9D来构造我的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编译的,我没有问题,但是因为我有 LoalZOPPPUL:= .CPP.C./COD>,这个警告只出现在C文件中。,android-ndk,ndk-build,Android Ndk,Ndk Build,我发现其他人也有同样的问题(),但没有得到任何答案 这是我的档案: 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

我发现其他人也有同样的问题(),但没有得到任何答案

这是我的档案:

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编译。感谢您的帮助。

从r9d开始,NDK不提供从c编译器中取消关联
.c
文件的方法。您可以重新定义
$$(TARGET\u CC)
,还可以设置
本地\u CFLAGS+=-std=c++11
,而不将
本地\u CPP\u扩展设置为包含
.c
,但无论如何,这将是一种黑客行为。因此,如果你不能重命名文件,并且不想破解NDK,最干净的解决方案就是简单地忽略警告。< /P>为什么你将C文件编译成C++?因为库在C中写了,现在使用一些C++代码从STD中生成一个随机的程序库。库不是我的,我会看看我是否可以把它改成C++。谢谢你的回答。很清楚。如果我的客户同意,我会尝试重命名文件,否则就忽略。干杯