Libpcap 示例不起作用,但项目在 Eclipse 中构建?

发布于 2024-12-17 13:51:58 字数 984 浏览 1 评论 0原文

我正在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归途 2024-12-24 13:51:58

好的,您需要在 -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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文