gpt4 book ai didi

c - PCAP 在 CLion 中不起作用

转载 作者:行者123 更新时间:2023-11-30 19:33:05 35 4
gpt4 key购买 nike

对于我的作业,我需要使用 libpcap 运行 C/C++ 代码。我正在使用 CLion 1.2。当我尝试运行测试代码时,我收到消息

对“pcap_open_offline”的 undefined reference

对“pcap_next”的 undefined reference

这是代码

#include <stdio.h>
#include <pcap/pcap.h>

const u_char *packet;


int main() {


char errbuf[PCAP_ERRBUF_SIZE];
pcap_t *handle = pcap_open_offline("/home/alex/Downloads/priklad.pcap", errbuf);

struct pcap_pkthdr packet_header;
packet = pcap_next(handle, &packet_header);


return 0;
}

我尝试像讨论的那样链接库 here ,但这没有帮助。我使用命令加载库

sudo apt-get install libpcap-dev

当前 CMakeList.txt:

cmake_minimum_required(VERSION 3.3)
project(PKS1)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

SET(GCC_COVERAGE_LINK_FLAGS "-lpcap")

SET(CMAKE_MODULE_PATH "/home/alex/projects/ClionProjects/PKS1/")


include(FindPCAP)
find_package(PCAP)

set(SOURCE_FILES main.c)
add_executable(PKS1 ${SOURCE_FILES})
target_link_libraries(PKS1 ${usr/include})

我的问题是,我做错了什么?图书馆在哪里?如何找到它并正确链接它,而无需每次都使用 gcc 进行编译?

最佳答案

您永远不会链接到libpca

更改线路:

target_link_libraries(PKS1 ${usr/include})

target_link_libraries(PKS1 ${PCAP_LIBRARY})

您可能还想更改为:

find_package(PCAP REQUIRED)

如果找不到 libpcap,则在运行 cmake 期间而不是在编译步骤期间出错。

关于c - PCAP 在 CLion 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46391018/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com