PcapPlusPlus를 사용하도록 Qt 프로젝트 (.pro 파일) 구성

펠릭스

Qt 프로젝트 내에서 Pcap ++를 사용하고 싶습니다. PcapPlusPlus 설치 및 소개 가이드의 단계를 따랐지만 여전히 알려지지 않은 사항이 있습니다.

  • 내 .pro 파일에서 어떻게 구현합니까? include ../../../Dist/mk/PcapPlusPlus.mk
  • 그리고 그 :
all: 
    g++.exe $(PCAPPP_INCLUDES) -c -o main.o main.cpp
    g++.exe $(PCAPPP_LIBS_DIR) -static-libgcc -static-libstdc++ -o Tutorial-LiveTraffic.exe main.o $(PCAPPP_LIBS)

이미 LIBS와 INCLUDEPATH를 다음과 같이 추가했습니다.

LIBS += -L/usr/local/lib/libCommon++.a -lCommon++
LIBS += -L/usr/local/lib/libPacket++.a -lPacket++
LIBS += -L/usr/local/lib/libPcap++.a -lPcap++
LIBS += -lpcap

INCLUDEPATH += /usr/local/include/pcapplusplus

그리고 예를 들어, 주 함수에서 다음과 같이 코드를 호출하려고 할 때 :

#include <IPv4Layer.h>
#include <Packet.h>
#include <PcapFileDevice.h>


int main(int argc, char** argv) {

    pcpp::PcapFileReaderDevice reader("the/path/example-app/1_packet.pcap");

    return 0;
}

다음과 같은 오류가 많이 발생했습니다.

/tmp/cirrus-ci-build/PcapPlusPlus/Common++/header/Logger.h:173: error : undefined reference to `pcpp::LoggerPP::LoggerPP()'
Eyllanesc

아이디어는 .mk를 qmake가 이해하는 적절한 코드로 변환하는 것입니다. 예를 들어 제 경우 .mk는 다음과 같습니다.

PCAPPLUSPLUS_HOME := /home/developer/PcapPlusPlus-20.08

### COMMON ###

# includes
PCAPPP_INCLUDES := -I$(PCAPPLUSPLUS_HOME)/Dist/header

# libs dir
PCAPPP_LIBS_DIR := -L$(PCAPPLUSPLUS_HOME)/Dist

# libs
PCAPPP_LIBS := -lPcap++ -lPacket++ -lCommon++

# post build
PCAPPP_POST_BUILD :=

# build flags
PCAPPP_BUILD_FLAGS :=

ifdef PCAPPP_ENABLE_CPP_FEATURE_DETECTION
    PCAPPP_BUILD_FLAGS += -DPCAPPP_CPP_FEATURE_DETECTION -std=c++11
endif

ifndef CXXFLAGS
CXXFLAGS := -O2 -g -Wall
endif

PCAPPP_BUILD_FLAGS += $(CXXFLAGS)
### LINUX ###

# includes
PCAPPP_INCLUDES += -I/usr/include/netinet

# libs
PCAPPP_LIBS += -lpcap -lpthread

# allow user to add custom LDFLAGS
PCAPPP_BUILD_FLAGS += $(LDFLAGS)

따라서 이전 정보를 사용하여 다음 .pro를 빌드합니다.

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp

PCAPPLUSPLUS_HOME = /home/developer/PcapPlusPlus-20.08

PCAPPP_INCLUDES = $${PCAPPLUSPLUS_HOME}/Dist/header
PCAPPP_LIBS_DIR = -L$${PCAPPLUSPLUS_HOME}/Dist
PCAPPP_LIBS = -lPcap++ -lPacket++ -lCommon++
PCAPPP_POST_BUILD =
PCAPPP_BUILD_FLAGS =
defined(!PCAPPP_ENABLE_CPP_FEATURE_DETECTION){
    PCAPPP_BUILD_FLAGS += -DPCAPPP_CPP_FEATURE_DETECTION -std=c++11
}
defined(!CXXFLAGS){
    CXXFLAGS = -O2 -g -Wall
}
PCAPPP_BUILD_FLAGS += $${CXXFLAGS}
PCAPPP_INCLUDES += -I/usr/include/netinet
PCAPPP_LIBS += -lpcap -lpthread
PCAPPP_BUILD_FLAGS += $${LDFLAGS}

LIBS += $${PCAPPP_LIBS}
INCLUDEPATH += $${PCAPPP_INCLUDES}
DEPENDPATH += $${PCAPPP_LIBS_DIR}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Qt5 문제를 사용하는 업스트림 프로젝트를위한 CMake 패키지 구성 파일

분류에서Dev

기존 QMake 프로젝트 (.pro 프로젝트 파일)를 CMake에서 "외부 프로젝트"로 사용하는 방법은 무엇입니까?

분류에서Dev

qt 4.8 프로젝트를 컴파일하는 동안 .lib 파일 누락

분류에서Dev

Qt : 프로젝트 파일에 디렉토리를 생성하는 방법은 무엇입니까?

분류에서Dev

.pro Qt 프로젝트 파일을 열기위한 기본 프로그램

분류에서Dev

MSBuild를 사용하는 여러 프로젝트에 대한 단일 구성?

분류에서Dev

Qt로 프로젝트를 컴파일 한 후 파일을 빌드 디렉토리에 복사하십시오.

분류에서Dev

리소스 및 ROS (catkin_make)를 사용하여 CMake로 Qt 프로젝트 컴파일

분류에서Dev

프로젝트 메시지 : 생성 된 .pro 파일에서 qmake를 실행하고 있습니다. 작동하지 않을 수 있습니다.

분류에서Dev

Qt는 exiv2.dll을 사용하여 프로젝트를 컴파일하지 않습니다.

분류에서Dev

소스 파일, 프로젝트 설정 및 임시 파일을 완전히 분리하도록 Visual Studio를 구성하려면 어떻게해야합니까?

분류에서Dev

Java 프로젝트 용 rpm 빌드 및 설치를위한 사양 파일 구성

분류에서Dev

CMake 프로젝트 용 구성 파일 만들기

분류에서Dev

Qt로 빌드를 위해 cmake 기반 프로젝트를 구성하는 방법

분류에서Dev

별칭을 사용하도록 호스트 파일 구성

분류에서Dev

YML 파일에서 생성 된 구성 목록에서 하나의 구성을 사용하도록 클라이언트를 제한

분류에서Dev

현재 프로젝트에서 Makefile 또는 _Coqproject를 구성하여 다른 프로젝트 / 디렉토리에 파일을 가져 오는 방법

분류에서Dev

데비안 OS QT 키트에서 컴파일러를 구성하는 방법

분류에서Dev

하나의 파일에 하나의 이벤트를 사용하도록 Logstash를 구성하는 방법 (메일 구문 분석 용)?

분류에서Dev

Roslyn 컴파일러를 사용하도록 기존 프로젝트 업그레이드

분류에서Dev

새 라이브러리를 포함 할 때 QT 프로젝트의 * .pro 파일에 무엇을 추가해야하는지 아는 방법은 무엇입니까?

분류에서Dev

QT Creator는 VC ++로 Non-QT 프로젝트를 컴파일합니다.

분류에서Dev

Xcode 프로젝트가 AWS Amplify DataStore를 사용하여 iOS 프로젝트 용으로 생성 된 'AmplifyModels'파일을 찾지 못함

분류에서Dev

Visual Studio 2010을 사용하여 DLL 프로젝트에 Qt 도구 포함

분류에서Dev

기존 Makefile과 동일한 Qt Creator 프로젝트 (.pro) 파일을 만드는 방법

분류에서Dev

Qt C ++ 프로젝트에서 Xamarin 프로젝트의 코드 재사용 성

분류에서Dev

Windows Phone 8 프로젝트를 컴파일하는 XAML 구문 분석 예외

분류에서Dev

build_runner를 사용하여 생성 된 파일에서 프로젝트를 정리하는 방법

분류에서Dev

Js 프로젝트 파일 구성

Related 관련 기사

  1. 1

    Qt5 문제를 사용하는 업스트림 프로젝트를위한 CMake 패키지 구성 파일

  2. 2

    기존 QMake 프로젝트 (.pro 프로젝트 파일)를 CMake에서 "외부 프로젝트"로 사용하는 방법은 무엇입니까?

  3. 3

    qt 4.8 프로젝트를 컴파일하는 동안 .lib 파일 누락

  4. 4

    Qt : 프로젝트 파일에 디렉토리를 생성하는 방법은 무엇입니까?

  5. 5

    .pro Qt 프로젝트 파일을 열기위한 기본 프로그램

  6. 6

    MSBuild를 사용하는 여러 프로젝트에 대한 단일 구성?

  7. 7

    Qt로 프로젝트를 컴파일 한 후 파일을 빌드 디렉토리에 복사하십시오.

  8. 8

    리소스 및 ROS (catkin_make)를 사용하여 CMake로 Qt 프로젝트 컴파일

  9. 9

    프로젝트 메시지 : 생성 된 .pro 파일에서 qmake를 실행하고 있습니다. 작동하지 않을 수 있습니다.

  10. 10

    Qt는 exiv2.dll을 사용하여 프로젝트를 컴파일하지 않습니다.

  11. 11

    소스 파일, 프로젝트 설정 및 임시 파일을 완전히 분리하도록 Visual Studio를 구성하려면 어떻게해야합니까?

  12. 12

    Java 프로젝트 용 rpm 빌드 및 설치를위한 사양 파일 구성

  13. 13

    CMake 프로젝트 용 구성 파일 만들기

  14. 14

    Qt로 빌드를 위해 cmake 기반 프로젝트를 구성하는 방법

  15. 15

    별칭을 사용하도록 호스트 파일 구성

  16. 16

    YML 파일에서 생성 된 구성 목록에서 하나의 구성을 사용하도록 클라이언트를 제한

  17. 17

    현재 프로젝트에서 Makefile 또는 _Coqproject를 구성하여 다른 프로젝트 / 디렉토리에 파일을 가져 오는 방법

  18. 18

    데비안 OS QT 키트에서 컴파일러를 구성하는 방법

  19. 19

    하나의 파일에 하나의 이벤트를 사용하도록 Logstash를 구성하는 방법 (메일 구문 분석 용)?

  20. 20

    Roslyn 컴파일러를 사용하도록 기존 프로젝트 업그레이드

  21. 21

    새 라이브러리를 포함 할 때 QT 프로젝트의 * .pro 파일에 무엇을 추가해야하는지 아는 방법은 무엇입니까?

  22. 22

    QT Creator는 VC ++로 Non-QT 프로젝트를 컴파일합니다.

  23. 23

    Xcode 프로젝트가 AWS Amplify DataStore를 사용하여 iOS 프로젝트 용으로 생성 된 'AmplifyModels'파일을 찾지 못함

  24. 24

    Visual Studio 2010을 사용하여 DLL 프로젝트에 Qt 도구 포함

  25. 25

    기존 Makefile과 동일한 Qt Creator 프로젝트 (.pro) 파일을 만드는 방법

  26. 26

    Qt C ++ 프로젝트에서 Xamarin 프로젝트의 코드 재사용 성

  27. 27

    Windows Phone 8 프로젝트를 컴파일하는 XAML 구문 분석 예외

  28. 28

    build_runner를 사용하여 생성 된 파일에서 프로젝트를 정리하는 방법

  29. 29

    Js 프로젝트 파일 구성

뜨겁다태그

보관