Libpcap 示例不起作用,但项目在 Eclipse 中构建?
我正在 Ubuntu 上的 eclipse 中运行以下 libpcap 示例:
http://www.tcpdump.org/pcap。 。
#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
当我在链接器库中将路径设置为“/usr/lib/x86_64-linux-gnu/”时,我不明白为什么路径是 /usr/bin/ld搜索路径(库-L)?我还在 GCC C++ 链接器中将 (libraries -l) 设置为“libpcap.a”
我需要同时设置两者吗?我这样做正确吗?我的 pcap 文件位于 /usr/lib/x86_64-linux-gnu/
有趣的是,如果我编写非 pcap C++ 但包含 pcap.h,则代码构建不会出现错误。
I am running the following libpcap example on Ubuntu, within 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);
}
I included the library path to the libpcap.a file in the eclipse settings for the GCC C++ linker. When I build the project I get:
g++ -L/usr/lib/x86_64-linux-gnu/ -o"test" ./src/test.o -llibpcap.a
/usr/bin/ld: cannot find -llibpcap.a
collect2: ld returned 1 exit status
make: * [test] Error 1
I dont see why the path is /usr/bin/ld when I set it to "/usr/lib/x86_64-linux-gnu/" within the linker library search path (libraries -L)? I also set (libraries -l) within GCC C++ linker to "libpcap.a"
Do I need to set both? Have I done this correctly? My pcap files are located at /usr/lib/x86_64-linux-gnu/
Interestingly if I write non-pcap C++ but include pcap.h the code builds with no errors.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,您需要在 -l 参数的顶部窗口中输入“pcap”,然后将您的目录放入 eclipse 上底部窗口 -L 中的 pcap 文件,这些文件都在 GCC C++ 链接器库部分内。
OK you need to enter 'pcap' in the top window for the -l argument and then put your directory to the pcap files in the bottom window -L on eclipse, these are both within the GCC C++ Linker library section.