Gcc 尝试构建wireshark解析器时发生转发声明错误

Gcc 尝试构建wireshark解析器时发生转发声明错误,gcc,build,g++,makefile,wireshark,Gcc,Build,G++,Makefile,Wireshark,在.cpp文件中,我有一个特定的外部“C”{}代码。 当我试图构建这个文件时,我得到了一个转发声明错误 In file included from ../../epan/proto.h:51:0, from ../../epan/packet.h:29, from packet-xxx.h:13, from packet-xxx.cpp:8: ../../epan/tvbuff.h:64:8:

在.cpp文件中,我有一个特定的外部“C”{}代码。 当我试图构建这个文件时,我得到了一个转发声明错误

In file included from ../../epan/proto.h:51:0,
                 from ../../epan/packet.h:29,
                 from packet-xxx.h:13,
                 from packet-xxx.cpp:8:
../../epan/tvbuff.h:64:8: error: forward declaration of 'tvbuff_t {aka struct tvbuff}'
在这里呆了一段时间。
有什么建议/线索吗?

是不是所有的错误消息日志都显示了?packet xxx.cpp:101717:52:错误:不完整类型“tvbuff_t{aka struct tvbuff}”的使用无效------这是第一行。我之所以对编译器选项感兴趣,是因为我知道上面的文件是用wireshark1.2中修改过的配置文件成功编译的。可能是@Sudhir的副本。您是想直接操作
tvbuff\u t
还是从结构继承到另一个类?通过将
struct tvbuff\u t
的定义移回标题中,您现在可能可以得到类似的结果。但是,如果您在第101717行所做的任何事情在下一次更新之后都可能无法正常工作(并且如果
tvbuff\u t
的结构或其内部使用语义发生了变化,则无法保证您尝试完成的工作仍然可行)。