2

我在 OS/X 上开发了一些网络代码,但我被 struct tcphdr 中重命名的字段所吸引。我收到了一堆形式的错误:"dpkt.c:597:36: error: ‘struct tcphdr’ has no member named ‘th_sport’ ". 我试过#define __FAVOR_BSD 1and #define _BSD_SOURCE 1,没有成功。

命令行是:

$ g++ -o dpkt -g  dpkt.c -lpcap

我尝试时没有变化

$ g++ -o dpkt -g  -D_BSD_SOURCE=1 dpkt.c -lpcap

谢谢...

4

1 回答 1

1

在这种特殊情况下,顺序定义很重要。不确定您是否意识到这一点,但请尝试添加

#define _BSD_SOURCE
#define __FAVOR_BSD

按照文件开头某处的特定顺序。

于 2013-01-03T00:40:29.930 回答