2012-11-12 25 views
6

लिंक करना मैं फेडोरा 17 पर काम कर रहा हूं और मैं libpcap के साथ प्रोग्राम करना चाहता हूं। समस्या यह है कि मेरा कंप्यूटर pcap.h नहीं ढूंढ रहा है, जो वास्तव में wierd है क्योंकि मैंने libpcap और libpcap-devel स्थापित किया है। इसके अलावा मेरे स्टेशन पर वायरशर्क और स्नॉर्ट काम करता है जो मुझे लगता है कि उस लाइब्रेरी का उपयोग करता है। तो जब मैं के साथ ...pcap.h ढूंढने में समस्याएं और

#include <pcap.h> 
... Code 

मेरी कोड संकलन और उपयोग करने जीसीसी my_file.c -lpcap, मैं संकलक त्रुटियों का कहना है कि ... pcap.h. नहीं मिल सकता है मिल क्या अजीब बात यह है कि मैं अपनी libpcap.so फ़ाइलों/पुस्तकालयों/निर्देशिका में फाइलें देखता हूं। मेरे द्वारा की गई ..

क्यों फेडोरा मुझे यह क्या कर रही है यम libpcap स्थापित और यम स्थापित libpcap-devel

मैं नहीं जानता।

किसी भी मदद के लिए धन्यवाद!

उत्तर

2

आप उदाहरण के लिए, जहां हेडर स्थापित कर रहे हैं फ़ोल्डर निर्दिष्ट करना होगा:

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

locate pcap.h प्रयास करें सही निर्देशिका -I स्विच के साथ उपयोग करने के लिए खोजने के लिए।

+0

हां यह नहीं देखता एम libpcap और libpcap-devel की तरह आवश्यक फाइलों के साथ आते हैं। मुझे लगता है कि मुझे सभी व्यक्तिगत हेडर फाइलें मिलनी हैं। –

6

प्रयास करें

~$ whereis pcap 
फिर

के रूप में माता ने कहा

gcc -lpcap -I{path} file.c 

जहां {path} रास्ता है कि whereis आपके द्वारा दिया गया है, तो आप (अंत में pcap.h-स्ट्रिंग के साथ एक के बिना चयन करेंगे pcap.h भाग)।

+1

यदि आप निराश हैं और आपकी समस्या का समाधान नहीं देखते हैं, तो आप यह सुनिश्चित करने के लिए एक और प्रयास कर सकते हैं कि आपने लाइब्रेरी को सही तरीके से इंस्टॉल किया हो। '~ $ find/usr/-iname '* .c' -or '* .h' | grep -i pcap' – yeyo

+0

मुझे यह काम करने के लिए मिला, धन्यवाद –

+0

@ डर्क मुझे विश्वास है कि मेरी पहली टिप्पणी के कारण, उत्तर की तारीख भी देखें। – yeyo

10

आपका पुस्तकालय अनुपलब्ध हो सकता है, यह स्थापित करें और उसे

yum install libpcap-devel 

लिंक अपने makefile ऐड में:

-L/usr/lib -lpcap 
+1

ओपी राज्यों 'libpcap-devel' स्थापित है ('libpcap' के साथ)! – Dirk

0

ग में कार्यक्रम क्रियान्वित करने के लिए ++:

ग के लिए

++ कार्यक्रम

g++ program_name.cpp -lpcap