2012-11-12 5 views
6

私はFedora 17で作業しています。私はlibpcapでプログラムしたいと思います。問題は、私のコンピュータがpcap.hを見つけていないことです。これはlibpcapとlibpcap-develをインストールして以来、本当に面白いです。また、wiresharkとsnortは、私がそのライブラリを使用していると思う私の駅で働いています。私はgccのmy_file.c -lpcapで...pcap.hの発見とリンクの問題

#include <pcap.h> 
... Code 

私のコードをコンパイルして使用するときに、私が言う... pcap.h.を見つけることができませんコンパイルエラーを取得します奇妙なことは、/ lib /ディレクトリにlibpcap.soファイルがあることです。私は

のyumはlibpcapを と のyumはFedoraは私にこれをやっている理由を私は知らないのlibpcap-develの

をインストールします。..やりました。

ありがとうございました!

答えて

2

次の例のように、ヘッダがインストールされているフォルダを指定する必要があります:

gcc -I/usr/include/pcap my_file.c -lpcap 

-Iスイッチを使用する権利のディレクトリを検索しlocate pcap.hを試してみてください。

+0

これは表示されませんlibpcapとlibpcap-develのように、必要なファイルが必要です。私はすべての個々のヘッダーファイルを見つけなければならないと思います。 –

6

マタが{path}whereisがあなたに与えた、あなたはなし(最後にpcap.hサブストリングとのいずれかを選択することのパスです

gcc -lpcap -I{path} file.c 

を言ったようにその後

~$ whereis pcap 

をお試しくださいpcap.hの部分)。

あなたのライブラリが不足している可能性があり
+1

あなたが困惑していて、問題の解決策が見当たらない場合は、もう一度ライブラリを適切にインストールしてください。 '〜$ find/usr/-iname '* .c'または '* .h' | grep -i pcap' – yeyo

+0

私はそれを働かせました。 –

+0

@Dirk私は最初のコメントのために、また答えの日付を見ていると思います。 – yeyo

10

、それをインストールし、追加し、それをあなたのmakefileで

yum install libpcap-devel 

をリンク:

-L/usr/lib -lpcap 
+1

OPに 'libpcap-devel'がインストールされています(' libpcap'と一緒に)! – Dirk

0

をC言語++でプログラムを実行するには:

C++のプログラム

g++ program_name.cpp -lpcap