我已经在OS/X上开发了一些网络代码,现在我对struct tcphdr中重命名的字段略知一二。我得到了一堆形式错误:"dpkt.c:597:36: error: ‘struct tcphdr’ has no member named ‘th_sport’ "
。我试过了,但没有成功。
命令行是:
$ g++ -o dpkt -g dpkt.c -lpcap
当我尝试时没有变化
$ g++ -o dpkt -g -D_BSD_SOURCE=1 dpkt.c -lpcap
谢谢。。。
最佳答案
在这种特殊情况下,顺序定义了事项。不确定您是否知道,但尝试添加
#define _BSD_SOURCE
#define __FAVOR_BSD
在你文件开头的某个特定顺序。
关于c - tcphdr字段名称在OS/X和Linux之间更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14130692/