由于 android 在编译的过程中,使用了Werror 的选项,那么任何warning 都会当作错误来处理。

在编译 android 4.0 (IceCreamSandwith) 的时候,由于使用的编译器中可能内置了 _FORITY_SOUCE 这个宏,在编译 android 代码的时候,会发生错误。


这个问题在 android 的known issue 中有列 (http://source.android/source/known-issues.html),解决方法可以参考:https://code.google/p/android/issues/detail?id=20795

在 build/core/comb/HOST_linux_x86.mk 文件中找到下面这句:

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
替换成为: 

HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

更多推荐

Android 编译错误之: warning: "_FORTIFY_SOURCE" redefined