我正在尝试使用用pf_ring编译的libpcap。 我从ntop获得了源代码并编译了它。
然而,有一些我不明白的事情(抱歉新手链接问题): 我想知道我的应用程序是否使用了正确的pcap版本(带有pfring的版本), 所以我输入了ldd,根本没有看到pcap,只是pfring。
我查看了输出,只看到pfring.so而不是pcap,虽然我动态链接到两个库。
我查看了libpcap的Makefile,看到它与pfring.a静态链接。 我认为我根本不需要与pfring链接,因为它是pcap的一部分,但是未定义引用。
有没有人知道我为什么会得到未定义的引用错误,为什么我在动态链接时不会在ldd输出中看到libpcap?
谢谢, 罗恩
答案 0 :(得分:0)
首先确保您执行了以下所有步骤:
//Installation
sudo su
cd kernel; make install
cd ../userland/lib; make install
insmod ./kernel/pf_ring.ko
然后从系统中删除当前的libpcap及其所有依赖项。
如你所知,pfring启用的libpcap位于/ userland / libpcapx下。如果您在应用程序中使用pf_ring启用了libpcap,只需将libpcap.a链接到您的程序。