我们的项目主要用纯C语言编写,Application.mk如下:

APP_CFLAGS := -s -O3 -Wall -Wextra -Wstrict-prototypes

但是其中一个模块是用C++编写的,所以在编译这个模块时,我会得到以下警告:
cc1plus: warning: command line option '-Wstrict-prototypes'
                 is valid for Ada/C/ObjC but not for C++ [enabled by default]

即全局标志包含一个可以与gcc一起使用的项,但不能与g++一起使用。
我必须修正警告。
我试图将本地cpp标志添加到模块的Android.mk:
LOCAL_CPPFLAGS := -Wno-strict-prototypes

但它没有覆盖全局标志,我得到了同样的警告。
有没有办法在不修改Application.mk的情况下消除此警告?

最佳答案

使用APP_cpflags to g++flags代替APP_CFLAGS。

APP_CPPFLAGS := -Wno-strict-prototypes

关于c - Android NDK:覆盖Application.mk编译器标志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26886620/

10-11 22:40