当前位置: 技术问答>linux和unix
关于libpcap的使用问题
来源: 互联网 发布时间:2016-02-25
本文导语: 小弟刚刚接触Linux下的C++编程,现遇到问题如下,望高手指点: 我使用的是Fedora Core 5,安装了gcc 4.1.2和libpcap 0.9.5 测试程序 #include int main() { printf("Hello Linuxn"); return(0); } 能够成功编译运行,但是当...
小弟刚刚接触Linux下的C++编程,现遇到问题如下,望高手指点:
我使用的是Fedora Core 5,安装了gcc 4.1.2和libpcap 0.9.5
测试程序
#include
int main()
{
printf("Hello Linuxn");
return(0);
}
能够成功编译运行,但是当我想用libpcap时却不行,程序如下:
#include
#include
int main()
{
char *dev,errbuf[100];
dev=pcap_lookupdev(errbuf);
printf("Device:%sn",dev);
return(0);
}
我输入命令gcc -lpcap -o tlibpcap tlibpcap.c,
报错:/tmp/ccwaZYRh.o: In function `main':tlibpcap.c:(.text+0x1b):对‘pcap_lookupdev’ 未定义的引用
collect2: ld 返回 1
我libpcap的安装方法如下:
解压后,输入./configure,然后make install
望高手指点,不生感激!!
我使用的是Fedora Core 5,安装了gcc 4.1.2和libpcap 0.9.5
测试程序
#include
int main()
{
printf("Hello Linuxn");
return(0);
}
能够成功编译运行,但是当我想用libpcap时却不行,程序如下:
#include
#include
int main()
{
char *dev,errbuf[100];
dev=pcap_lookupdev(errbuf);
printf("Device:%sn",dev);
return(0);
}
我输入命令gcc -lpcap -o tlibpcap tlibpcap.c,
报错:/tmp/ccwaZYRh.o: In function `main':tlibpcap.c:(.text+0x1b):对‘pcap_lookupdev’ 未定义的引用
collect2: ld 返回 1
我libpcap的安装方法如下:
解压后,输入./configure,然后make install
望高手指点,不生感激!!
|
在我这里你的测试代码可以编译通过。
libpcap一般的发行版都有,不用找源码安装,可以到光盘上找rpm包安装。
如果是源码安装,缺省的可能安装到/usr/local/lib下,你可以找一下是否在那里:
find /usr -name "libpcap*"
再看看/etc/ld.so.conf文件,那个目录是否在搜索路径里面,没有就加进去然后运行ldconfig -v
或者在编译的时候指定库的搜索路径:
gcc -L/usr/local/lib ......
libpcap一般的发行版都有,不用找源码安装,可以到光盘上找rpm包安装。
如果是源码安装,缺省的可能安装到/usr/local/lib下,你可以找一下是否在那里:
find /usr -name "libpcap*"
再看看/etc/ld.so.conf文件,那个目录是否在搜索路径里面,没有就加进去然后运行ldconfig -v
或者在编译的时候指定库的搜索路径:
gcc -L/usr/local/lib ......
|
gcc -o tlibpcap tlibpcap.c -Llibpcap库函数所在的目录 -lpcap
|
-L"libpcap库函数所在的目录"
注意引号是没有的
注意引号是没有的
|
应该是没有找到libpcap的路径