---
title: -Werror引入的问题适配
description: "在编译选项打开-Werror的情况下，编译器会将所有warning转化为error，不同于warning，error会阻碍构建。此类error格式如下："
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_06_0090.html
sourcePath: /source/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_06_0090.html
indexId: 5b2efde613411561fef250962f1ebef0c586a2b84227b23994b138c8dcbf04d774
---
# -Werror引入的问题适配

#### 错误信息

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

```
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选项升级，批量解决该问题。
