关于libpcap的使用问题

csdnxl 2007-04-11 09:25:51
小弟刚刚接触Linux下的C++编程,现遇到问题如下,望高手指点:

我使用的是Fedora Core 5,安装了gcc 4.1.2和libpcap 0.9.5

测试程序
#include <stdio.h>
int main()
{
printf("Hello Linux\n");
return(0);
}
能够成功编译运行,但是当我想用libpcap时却不行,程序如下:

#include <stdio.h>
#include <pcap.h>
int main()
{
char *dev,errbuf[100];
dev=pcap_lookupdev(errbuf);
printf("Device:%s\n",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

望高手指点,不生感激!!
...全文
880 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hints 2008-05-02
  • 打赏
  • 举报
回复
我用楼主的代码编译了一下,没有什么问题,但是在运行时则出现
Device:(null)
*** stack smashing detected ***: ./pcap terminated
忽略 (core dumped)

请问大虾们给说明一下,不生感激
ssyyo_bj 2007-05-09
  • 打赏
  • 举报
回复
你是如何解决 的?告诉 我
./configure --with-libpcap-libraries=/usr/lib/
为什么不 行
dataat 2007-04-12
  • 打赏
  • 举报
回复
应该是没有找到libpcap的路径
playmud 2007-04-12
  • 打赏
  • 举报
回复
-L"libpcap库函数所在的目录"
注意引号是没有的
playmud 2007-04-12
  • 打赏
  • 举报
回复
gcc -o tlibpcap tlibpcap.c -Llibpcap库函数所在的目录 -lpcap
x86 2007-04-12
  • 打赏
  • 举报
回复
在我这里你的测试代码可以编译通过。
libpcap一般的发行版都有,不用找源码安装,可以到光盘上找rpm包安装。

如果是源码安装,缺省的可能安装到/usr/local/lib下,你可以找一下是否在那里:
find /usr -name "libpcap*"

再看看/etc/ld.so.conf文件,那个目录是否在搜索路径里面,没有就加进去然后运行ldconfig -v

或者在编译的时候指定库的搜索路径:
gcc -L/usr/local/lib ......
csdnxl 2007-04-12
  • 打赏
  • 举报
回复
谢谢各位大虾的帮忙,问题已经解决了。现在先结贴,以后有问题还要继续麻烦各位的,thanks a lot^___^

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧