Cプログラミングの領域に戻ったばかりで、リンカーに関連していると思われる問題が発生しています。
私も初めてcmakeを使用しているので、それが私の欲求不満を増す可能性があります。
コードが使用しようとしているtypedefを含むサードパーティのヘッダーファイルをインクルードしました。このファイルには次の行があります。
typedef struct pcap pcap_t;
だから私のコードは
pcap_t *var;
//later.....
var->fd;// this line throws the error
これは
error: dereferencing pointer to incomplete type
それで、私は別のインクルードファイルを見逃しているだけですか、それともこれはリンカーの問題ですか?私はQtCreatorでこのコードを作成し、cmakeを使用しています。a_tに飛び込んで、インクルードされたヘッダーにあるtypedef宣言を確認することはできますが、「struct a」自体に飛び込んで、それがどこから来ているのかを確認することはできません。
ありがとう
上記のコードを編集して、pcapライブラリを使用していることを反映しました
だから私は私のソースファイルのヘッダーファイルに次の行を含めました
#include <net/bpf.h>
#include <pcap/pcap.h>
したがって、これら2つのインクルードの間に、pcap構造の定義が欠けていると思います。どこで見つけることができますか?
ありがとう