编译出现-Werror,-Wunused-const-variable

1.1 啥是-Wall和-Werror字段

这个没有啥多少的,人狠话不多直接上解释:

    Wall:编译阶段显示所有警告。
    Werror:将所有的警告当成错误进行处理,使出现警告时就停止编译,这种错误是最常见的。


1.2 啥是LOCAL_CFLAGS

LOCAL_CFLAGS是Android.mk中定义的一个编译选项,其可以根据后续添加的选项不同,分为如下几个用途,下面让我们一起总结一下:

    -D选项,相当于添加宏定义

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

    -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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
包含如下操作系统版本 FreeBSD Linux Solaris Windows 分别对应如下目录 MegaCLI for DOS MegaCLI for Linux MegaCLI for Solaris MegaCLI for FreeBSD MegaCLI for Windows ********************************************* LSI Corp. MegaRAID MegaCLI Release ********************************************* Release Date: 01/20/14 ======================== Supported Controllers ================== MegaRAID SAS 9270-8i MegaRAID SAS 9271-4i MegaRAID SAS 9271-8i MegaRAID SAS 9271-8iCC MegaRAID SAS 9286-8e MegaRAID SAS 9286CV-8e MegaRAID SAS 9286CV-8eCC MegaRAID SAS 9265-8i MegaRAID SAS 9285-8e MegaRAID SAS 9240-4i MegaRAID SAS 9240-8i MegaRAID SAS 9260-4i MegaRAID SAS 9260CV-4i MegaRAID SAS 9260-8i MegaRAID SAS 9260CV-8i MegaRAID SAS 9260DE-8i MegaRAID SAS 9261-8i MegaRAID SAS 9280-4i4e MegaRAID SAS 9280-8e MegaRAID SAS 9280DE-8e MegaRAID SAS 9280-24i4e MegaRAID SAS 9280-16i4e MegaRAID SAS 9260-16i MegaRAID SAS 9266-4i MegaRAID SAS 9266-8i MegaRAID SAS 9285CV-8e MegaRAID SAS 8704ELP MegaRAID SAS 8704EM2 MegaRAID SAS 8708ELP MegaRAID SAS 8708EM2 MegaRAID SAS 8880EM2 MegaRAID SAS 8888ELP MegaRAID SAS 8308ELP* MegaRAID SAS 8344ELP* MegaRAID SAS 84016E* MegaRAID SAS 8408E* MegaRAID SAS 8480E* MegaRAID SATA 300-8ELP* *These older controllers should work but have not been tested. Component: ========= SAS MegaRAID MegaCLI Release Date: 01/20/14 Version Numbers: MegaCLI =============== =========== Current Version 8.07.14 Previous Version 8.07.07 Contents: ========= This package contains MegaCLI for the following OSes: DOS FreeBSD Linux Solaris Windows Use the MegaCLI components from the folder that matches your OS. Enhancements and Bug Fixes ========================== SCGCQ00393585 (DFCT) - VD creation from MegaCli fails on Solaris Sparc 10u9 operating system. SCGCQ00413883 (DFCT) - "megacli -version -pd -a0" Segmentation Faults if PDs are missing SCGCQ00445356 (CSET) - Megacli crashes after invoking any command in SGI system with one 9280-8e and 2 quad port qlogic FC cards. SCGCQ

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学如逆水行舟,不进则退3038

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值