werror编译告警关闭
时间: 2023-12-31 22:05:39 浏览: 46
在CMake中,可以使用以下代码将所有警告转换为错误:
```
if (CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
elseif (MSVC)
add_compile_options(/WX)
endif()
```
这会将所有警告转换为编译错误,强制开发人员在编译代码时修复所有警告。这种方式有助于提高代码质量,但也可能增加代码开发和维护的难度。
相关问题
怎样在编译时禁用 -Werror 选项
在绝大多数情况下,使用 `-Wno-error` 选项可以在编译时禁用 `-Werror` 选项。你只需要将编译命令中的 `-Werror` 更改为 `-Wno-error` 即可。
例如,如果你的编译命令是:
```
gcc -Wall -Werror -o myprogram myprogram.c
```
那么你只需要将 `-Werror` 更改为 `-Wno-error`:
```
gcc -Wall -Wno-error -o myprogram myprogram.c
```
这样就可以在编译时禁用 `-Werror` 选项,从而避免将警告视为错误,不会导致编译失败。
在内核makefile中将重定义报错改为告警
将内核Makefile中的-Werror重定义选项改为-Wextra,即在编译过程中,将重定义警告作为警告而非错误来处理。具体地,将以下内容:
```
KBUILD_CFLAGS := -Werror
```
改为:
```
KBUILD_CFLAGS := -Wextra
```
这样就可以将重定义警告转化为编译警告。但需要注意的是,这样做会使得编译过程中的警告数量增加,需要开发者对这些警告进行详细的分析和处理。