PCAP 在 CLion 中不起作用
PCAP does't work in CLion
对于我的作业,我需要 运行 C/C++ 代码和 libpcap。我正在使用 CLion 1.2。当我尝试 运行 测试代码时,我收到消息
对 'pcap_open_offline'
的未定义引用
对 'pcap_next'
的未定义引用
这是代码
#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;
}
我试过 link 像 讨论的那样访问库,但它没有帮助。我用命令
加载了库
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})
我的问题是,我做错了什么?图书馆在哪里?我如何找到它并正确 link 它而不是每次都用 gcc 编译?
您永远不会链接到 libpca
。
换行:
target_link_libraries(PKS1 ${usr/include})
到
target_link_libraries(PKS1 ${PCAP_LIBRARY})
您可能还想更改为:
find_package(PCAP REQUIRED)
为了在 cmake
的 运行 期间出错,而不是在找不到 libpcap
的编译步骤期间出错。
对于我的作业,我需要 运行 C/C++ 代码和 libpcap。我正在使用 CLion 1.2。当我尝试 运行 测试代码时,我收到消息
对 'pcap_open_offline'
的未定义引用对 'pcap_next'
的未定义引用这是代码
#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;
}
我试过 link 像
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})
我的问题是,我做错了什么?图书馆在哪里?我如何找到它并正确 link 它而不是每次都用 gcc 编译?
您永远不会链接到 libpca
。
换行:
target_link_libraries(PKS1 ${usr/include})
到
target_link_libraries(PKS1 ${PCAP_LIBRARY})
您可能还想更改为:
find_package(PCAP REQUIRED)
为了在 cmake
的 运行 期间出错,而不是在找不到 libpcap
的编译步骤期间出错。