android编译时忽略某些error

Posted whorus1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android编译时忽略某些error相关的知识,希望对你有一定的参考价值。

android在编译时可能会遇到一些无关紧要的error,我们可以通过修改编译选项忽略这种错误。

 

比如:

error: unused parameter 's' [-Wunused-parameter]

这种问题可能有很多,一个个修改太麻烦。

 

我们可以在android.mk文件中加入如下配置:

LOCAL_CFLAGS += -Wno-unused-result

即可忽略这种错误提醒。

 

PS:CFLAGS简要说明:

-D

LOCAL_CFLAGS += -DXXX   相当于在所有源文件中增加一个宏定义#define

-O

代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化 

-W[no-]<警告选项>     no- 表示诊断时忽略这个警告   

编译器的警告设置参数,拥有众多的选项,下面举一些常用的例子:

     -Woption 让编译器给出option指定的编译警告,常用的一些如下:
                   unused-function: 遇到仅声明过但尚未定义的静态函数时发出警告。
                   unused-parameter: 从未用过的函数参数的警告。
                   unused-variable: 在本地声明但从未用过的变量的警告。
                   unused-value: 经计算但从未用过的值得警告。
                   return-type: 对函数返回类型不当的警告。
                   uninitialized:在初始化之前就使用自动变量。
                   float-equal:   比较两个浮点数是否相等。
    -Wall       给出“几乎”所有的编译器警告,注意是“几乎”。下面是一些-Wall没有输出的警告类型:
                   sign-compare:将有符号类型和无符号类型数据进行比较时发出警告。
                   unreachable-code:如果发现从未执行的代码时给出警告。
                   inline:如果某函数不能按要求内嵌(inline),则无论是函数声明为inline或者是指定了-finline-functions 选项,编译都将发出警告。      
    -Werror               把所有的警告都视为错误处理。
    -Wno-option               如果我们不想输出某些警告信息,可以使用此参数形式,比如:LOCAL_CFLAGS := -Wno-unused-parameter

 

 

以上是关于android编译时忽略某些error的主要内容,如果未能解决你的问题,请参考以下文章

强制编译器忽略程序中的某些行

在OCaml中忽略关于=的某些类型

当系统音量发生变化时,Android MediaPlayer 会忽略它的内部音量

安卓ndk 忽略 error: undefined reference to '找不到符号

FxCop 似乎已挂起或死锁:可能会忽略检查中的某些方法

如何在“发布”版本中不编译某些 Android 菜单项