我使用ubuntu20.04版本,gcc-7编译dpdk-19.08版本
错误如下:
同样的问题,可以先看一下这篇文章
https://blog.csdn.net/weixin_44260459/article/details/123563091
可以看出[-Werror=implicit-fallthrough=]错误
是由于makefie 的CLFAGS中设置了-Werror导致的,会使得编译过程中将warning视为错误,并退出编译。
关于这个错误的解决方法,参考linux下编译nginx1.0.15报错:Implicit fallthrough error
可以看出,可能是由于如果gcc版本号为7,那么源代码的switch-case块中如果忘了加上break,有可能会报错Implicit fallthrough error
解决方法参考这篇文章:【开发日常】【Makefile】编译时如何将警告(warning)视为错误(error)?
,可以在CFLAGS中将Werror删除,或者添加-w
具体在编译DPDK这个问题上,可以使用grep -rn “Werror” ./
搜索当前目录下所有makefie文件中Werror的位置,看看哪些
makefile是需要修改的
于是我根据提示打算修改./kernel/linux/kni/Makefile和./kernel/linux/igb_uio/Makefile:下的makefile,添加-w选项
编译通过了