2017-09-24 59 views
-1

私の割り当てのために、libpcapでC/C++コードを実行する必要があります。私はCLion 1.2を使用しています。私は、テストコードを実行しようとすると、私はメッセージPCAPはCLIONで動作しません

を得る「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; 
} 

です説明したようなライブラリをリンクするhereしかし、それは助けになりませんでした。 、

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}) 

私の質問があり、私が何をやっている間違っている:私は

須藤はapt-getののlibpcap-devの

現在CMakeList.txtをインストールするコマンドを使用してライブラリをロード?図書館はどこですか? gccで毎回コンパイルせずに、それを見つけて正しくリンクするにはどうしたらいいですか?

答えて

0

あなたは決してlibpcaにリンクしていません。代わりのcmakeの実行中にエラーに順番に

find_package(PCAP REQUIRED) 

:あなたはまたに変更する場合があります

target_link_libraries(PKS1 ${usr/include}) 

target_link_libraries(PKS1 ${PCAP_LIBRARY}) 

へ:

はあなたの行を変更し

コンパイル・ステップ中にlibpcapが見つからない場合。

関連する問題