You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在编译Wireshark 1.9.2时关闭警告转错误?

解决Wireshark 1.9.2编译时未使用typedef的错误

方法1:临时禁用特定警告(快速解决)

编译时所有警告被当作错误触发失败,可直接关闭未使用本地typedef的警告:

  • 进入build目录,清理旧缓存:rm -rf CMakeCache.txt CMakeFiles
  • 重新执行CMake并添加编译选项:
    cmake .. -DCMAKE_C_FLAGS="-Wno-unused-local-typedefs"
    
  • 再次执行make install即可完成编译。

方法2:修改源码修复(规范解决)

不直接删除typedef(避免破坏代码依赖),给未使用的typedef添加“占位使用”让编译器认可:

  • 打开文件/home/techie/wireshark-1.9.2/epan/dissectors/packet-dcerpc-rs_pgo.c
  • 在dissect_rs_pgo_query_t函数里的} rs_pgo_query_t;下方添加一行:
    (void)sizeof(rs_pgo_query_t);
    
  • 同样,在dissect_rs_pgo_query_key_t函数里的} rs_pgo_query_t;下方也添加上述代码
  • 保存文件后回到build目录执行make install

注意事项

直接注释typedef会破坏代码结构(该类型可能被其他逻辑依赖),因此不建议这么做。上述两种方法中,方法1适合快速完成编译,方法2属于从代码层面修复警告问题,更符合编码规范。

内容的提问来源于stack exchange,提问作者Dying Falcon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:12:51