ZBLOG

CC [M] /home/khb/share/dpdk-stable-19.08.2/x86_64-native-linux-gcc/build/kernel/linux/igb_uio/igb_uio.o /home/khb/share/dpdk-stable-19.08.2/x86_64-native-linux-gcc/build/kernel/linux/igb_uio/igb_uio.c: In function ‘igbuio_pci_enable_interrupts’: ...

这个错误提示显示在编译 DPDK 的 igb_uio 模块时发生了一个隐式的 fall-through 错误。根据警告,该语句可能会继续执行下一条语句,但实际上却没有明确的 breakreturn 语句。

在新版本的 GCC 中,编译器默认启用 -Werror=implicit-fallthrough 选项,将隐式 fall-through 视为错误。为了解决这个问题,你可以使用以下两种方法之一:

  1. 添加显式的 breakreturn 语句:根据代码中的错误位置,在相应的地方添加一个明确的 breakreturn 语句来避免警告和错误。例如:
   case RTE_INTR_MODE_MSI:
       pci_alloc_irq_vectors(udev->pdev, 1, 1, PCI_IRQ_MSIX);
       break;
  1. 禁用 -Werror=implicit-fallthrough 警告:如果你确定代码中的 fall-through 是有意为之并且正确无误的,请修改编译命令,在对应目标上禁用此警告。例如:
   make CONFIG_RTE_CFLAGS="-Wno-error=implicit-fallthrough"

请注意,第二种方法虽然可以解决编译错误,但也意味着你不再对隐式 fall-through 进行严格检查。因此,在选择禁用警告之前,确保你已经仔细检查了相关代码并确定其正确性。

希望以上方法能够帮助你解决问题。如有其他疑问,请随时提问。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=4858

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?