2

私は OS/X でいくつかのネットワーク コードを開発しましたが、struct tcphdr の名前が変更されたフィールドに少し慣れてきました。次の形式のエラーが大量に発生します"dpkt.c:597:36: error: ‘struct tcphdr’ has no member named ‘th_sport’ "。私は試してみましたが#define __FAVOR_BSD 1#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 に答える