编译时出错,./frameworks/base/tools/obbtool
warnings being treated as errors
arm-dis.c: In function 'print_insn_thumb16':
arm-dis.c:2950: error: format not a string literal and no format arguments
arm-dis.c:2957: error: format not a string literal and no format arguments
arm-dis.c: In function 'print_insn_thumb32':
arm-dis.c:3491: error: format not a string literal and no format arguments
arm-dis.c:3499: error: format not a string literal and no format arguments
make[4]: *** [arm-dis.lo] Error 1
这是源码中有些函数定义不规范,用对函数格式非常严格的GCC 4.3编译就会出错,而GCC 4.1 不会报错。
自然不乐意重新安装GCC退回到4.1的版本来解决这个问题,我是这样做的。
$cd /opt/gdb-6.5/opcodes
进入编译出错的目录;
找到 Android.mk, 将其中的-werror 去掉,重新编译。
#LOCAL_CFLAGS := -Wall -Werror
LOCAL_CFLAGS := -Wall
#LOCAL_CFLAGS := -Wall -Werror
LOCAL_CFLAGS := -Wall
将编译的命令拷贝,去掉“-Werror”,重新编译,只有警告信息,没有报错误。
$cd ..
推出子目录
$make
继续make