2012-11-12 22 views
6

Pracuję nad Fedorą 17 i chcę programować z libpcap. Problem polega na tym, że mój komputer nie znajduje pcap.h, co jest naprawdę dziwne odkąd zainstalowałem libpcap i libpcap-devel. Również wireshark i snort działają na mojej stacji, która jak sądzę wykorzystuje tę bibliotekę. Więc kiedy mogę skompilować mój kod z ...Problemy ze znalezieniem pcap.h i połączeniem

#include <pcap.h> 
... Code 

I używać gcc my_file.c -lpcap, otrzymuję błędy kompilatora, które mówią ... nie może znaleźć pcap.h. Co dziwne, widzę moje pliki libpcap.so w katalogu/libraries /. Zrobiłem ..

yum install libpcap i yum install libpcap-devel

nie wiem dlaczego Fedora robi to na mnie.

Dzięki za pomoc!

Odpowiedz

2

Musisz określić folder, w którym są zainstalowane nagłówki, na przykład:

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

Spróbuj locate pcap.h znaleźć odpowiedni katalog do korzystania z przełącznika -I.

+0

Nie widać m jak libpcap i libpcap-devel pochodzą z niezbędnymi plikami, których potrzebuję. Myślę, że muszę znaleźć wszystkie poszczególne pliki nagłówkowe. –

6

Spróbuj

~$ whereis pcap 

Następnie jako mata powiedział

gcc -lpcap -I{path} file.c 

gdzie {path} jest ścieżką, która whereis dał ci będzie wybrać jedną z podciągu pcap.h na końcu (bez część pcap.h).

+1

Jeśli jesteś sfrustrowany i nie widzisz rozwiązania problemu, możesz zrobić jeszcze jeden wysiłek, aby upewnić się, że biblioteka została zainstalowana prawidłowo. '~ $ find/usr/-iname '* .c' -or '* .h' | grep -i pcap' – yeyo

+0

Mam go do pracy, dzięki –

+0

@Dirk Wierzę, ze względu na mój pierwszy komentarz, również spojrzeć na datę odpowiedzi. – yeyo

10

Twoja biblioteka może brakować, zainstalować go i połączyć go

yum install libpcap-devel 

W swoim makefile dodają:

-L/usr/lib -lpcap 
+1

OP stwierdza, że ​​'libpcap-devel' jest zainstalowany (wraz z' libpcap')! – Dirk

0

aby uruchomić program w C++:

dla C++ programu

g++ program_name.cpp -lpcap