中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

-Werror引入的问题适配

错误信息

在编译选项打开-Werror的情况下,编译器会将所有warning转化为error,不同于warning,error会阻碍构建。此类error格式如下:

1
test.c:6:1: error: non-void function does not return a value [-Werror,-Wreturn-type] 

问题介绍

因为毕昇编译器和GNU编译器对于warning的处理有差异,因此可能存在切换毕昇后,新增warning并被-Werror选项转化为error,阻碍构建的情况。

解决方案

可以通过增加-Wno选项关闭对应的warning,例如上例中warning提示告警来自-Wreturn-type选项,则可添加-Wno-return-type(“W”后添加“no-”)选项关闭该告警,可以通过在源码根目录grep -Werror找到设置-Werror选项的位置,并在该处添加对应的-Wno选项。4.1.0版本起可通过打开-fGNU-warning-compatibility选项,控制所有与GNU编译器存在差异的warning不被-Werror选项升级,批量解决该问题。