LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1186|回复: 2

库函数编程问题(libpcap),谢谢

[复制链接]
发表于 2005-6-5 12:33:34 | 显示全部楼层 |阅读模式
初学Linux编程,请大家多指教.
编程环境是redhat Linux9
我要做的是对数据链路层帧的处理,用到函数库lib_pcap,下面是我的操作步骤

1:从www.tcpdump.org/weekly/下载了 ... p-2005.05.23.tar.gz

2:./configure接着make最后make install,
  我觉得应该就装好了吧(是不是应该在某个特定路经安装啊?)

3:然后vi了一个资料上的简单程序,如下:
        #include<stdio.h>
        #include<pcap.h>
        int main()
        {
                char *dev,errbuf[100];
                dev=pcap_lookupdev(errbuf);
                printf("Device:%s\n",dev);
                return(0);
                                                                                                                     }
        虽然对errbuf的用法还是一知半解,但我觉得这个程序还是能编译过吧
        运行成功应该显示Device:eth0吧(我的单网卡)?

4:然后编译:gcc device.c 出现下面的提示

        /tmp/cclnPVKm.o(.text+0x1e):In function 'main':
        :undefined reference to 'pcap_lookupdev'
        collect2:ld returned 1 exit status
       
问题有两个:
        (1)为什么我安装了libpcap还是说没有定义pcap_lookupdev呢?
        (2)/tmp/cclnPVKm.o(.text+0x1e)是什么意思呢?

        谢谢
发表于 2005-6-5 19:08:59 | 显示全部楼层
1.因为libpcap 不是标准库在编译时需要显示指定此库
$gcc  -o device device.c -I/usr/include/.... -L/usr/lib/... -lpcap
-I后面是头文件pcap.h所在的目标,-L后是对应的.so所在的目录, 如果运气好的话
gcc device.c -lpcap
就应可以了。

所以说,安装新的库,需要了解库文件和头文件存放

位置

btw
1. 发到专区程序设计区
2.基础知识先看书
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-6 16:58:16 | 显示全部楼层
问题已经解决,谢谢弥敦路九号,还想再请你推荐一两本入门书籍:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表