我在Ubuntu上运行以下libpcap示例:eclipse:
http://www.tcpdump.org/pcap.html
#include <stdio.h>
#include <pcap.h>
int main(int argc, char *argv[])
{
char *dev, errbuf[PCAP_ERRBUF_SIZE];
dev = pcap_lookupdev(errbuf);
if (dev == NULL) {
fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
return(2);
}
printf("Device: %s\n", dev);
return(0);
}
我在GCC C ++链接器的eclipse设置中包含了libpcap.a文件的库路径。当我构建项目时,我得到:
g ++ -L / usr / lib / x86_64-linux-gnu / -o“test”./ src / test.o -llibpcap.a / usr / bin / ld:找不到-llibpcap.a collect2:ld返回1退出状态 make: * [test]错误1
当我在链接器库搜索路径(库-L)中将其设置为“/ usr / lib / x86_64-linux-gnu /”时,我不明白为什么路径是/ usr / bin / ld?我还在GCC C ++链接器中将(libraries -l)设置为“libpcap.a”
我需要同时设置吗?我做得对吗?我的pcap文件位于/ usr / lib / x86_64-linux-gnu /
有趣的是,如果我编写非pcap C ++但包含pcap.h,代码构建时没有错误。
答案 0 :(得分:0)
好的,您需要在顶部窗口输入'pcap'作为-l参数,然后将您的目录放在底层窗口中的pcap文件-Lclipse上,这些都在GCC C ++链接库部分。< / p>