c++ (私は VS 2008 を使用しています) で pcap ファイルを読み込もうとしていますが、次のエラーが発生しています。
1) エラー C2011: 'bpf_program': 'struct' 型の再定義。
2) エラー C2011: 'bpf_insn': 'struct' 型の再定義
問題は、あるファイルに Packet32.h を含め、別のファイルに pcap.h を含めることだと思います (特定のクラスで Packet32.h 関数が必要であり、別のクラスで pcap ファイルを読み取るには pcap.h が必要です)。 . すべてのファイルにヘッダーガードがあります。
メイン クラスには、前述の両方のクラスを含めます。含める順序を切り替えると、別のエラーが発生します。私のように見える簡単なコードは次のとおりです。
class1.h:
.
.
.
#include <Packet32.h>
#include <windows.h>
#include <process.h>
.
.
.
class2.h:
.
.
.
#include <pcap.h>
.
.
.
main.cpp で:
#include "stdafx.h"
#include "class1.h"
#include "class2.h"
.
.
.
誰かがこれについて私を助けることができるのだろうか. それは非常に高く評価されます。