最近新玩的rk3588的板子,编译驱动时出现了警告提示错误“cc1:all warnings being treated as errors”,导致编译失败,仔细看了一下,就是内部出现了一个警告,一个未使用的变量出现的警告,导致了驱动编译失败,但是如果这样其他驱动会不会也这样,然后就写了一个printk的demo驱动,在注册函数加了一个未使用的变量,结果也是编译不过,如下:
查看资料:linux内核从5.15之后构建将默认启用“-Werror”编译器标记,编译时warning被当作error处理
问题找到了就好解决了
解决办法如下:
首先将内核最顶层makefile的“-Werror”全部取消
当然还有其他的
注意:是全部“-Werror”都要取消,上面的只是简单举例
此外还要在编译驱动的makefile中加入下面两句
CFLAGS = -Wall -Wpointer-arith -</