Не собирается проект в Qt Creator (debug)

Компилирую проект в Qt Creator, в release всё нормально, всё собирается, программа работает. А вот в debug собрать не получается. Qt Creator выдает следующие ошибки:

введите сюда описание изображения

введите сюда описание изображения

Ругается на libpcap. Вот тут рекомендовали добавить параметр -lpcap, но непонятно куда его добавлять, если я работаю в Qt Creator, и почему всё нормально работает, если собирать в release.

upd + upd 3

Выход компилятора:

09:49:21: Running steps for project spiderweb...
09:49:21: Starting: "/home/gleb/Qt/Tools/CMake/bin/cmake" --build /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug --target all
[1/1 2.0/sec] Linking CXX executable bin/spiderweb
FAILED: bin/spiderweb 
: && /usr/bin/g++ -g  CMakeFiles/spiderweb.dir/spiderweb_autogen/mocs_compilation.cpp.o CMakeFiles/spiderweb.dir/spiderweb.cpp.o CMakeFiles/spiderweb.dir/main.cpp.o CMakeFiles/spiderweb.dir/submodules/interface/baseinterface.cpp.o CMakeFiles/spiderweb.dir/submodules/interface/coreModulesInterface.cpp.o -o bin/spiderweb  -Wl,-rpath,/usr/local/lib:/home/gleb/Qt/5.15.2/gcc_64/lib:/home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/submodules/radiotap  resources/libresources.a  osModule/libosModule.a  wirelessModule/libwirelessModule.a  comModule/libcomModule.a  submodules/Common/SpiderWeb/libspiderwebstructs.a  /usr/lib/x86_64-linux-gnu/libpcap.so  /usr/lib/x86_64-linux-gnu/libnl-3.so  /usr/lib/x86_64-linux-gnu/libnl-route-3.so  /usr/lib/x86_64-linux-gnu/libnl-genl-3.so  /usr/local/lib/libtins.so  /usr/local/lib/libPcap++.a  /usr/local/lib/libPacket++.a  /usr/local/lib/libCommon++.a  /usr/lib/x86_64-linux-gnu/libpcap.so  /usr/lib/x86_64-linux-gnu/libpthread.a  -lfmt  /usr/lib/x86_64-linux-gnu/libspdlog.so.1.8.1  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Widgets.so.5.15.2  wirelessModule/libwirelessModule.a  resources/libresources.a  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Widgets.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Gui.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5.15.2  osModule/libosModule.a  submodules/radiotap/libradiotap.so  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Widgets.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Gui.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5.15.2  /usr/local/lib/libtins.so  /usr/local/lib/libPcap++.a  /usr/local/lib/libPacket++.a  /usr/local/lib/libCommon++.a  /usr/lib/x86_64-linux-gnu/libnl-3.so  /usr/lib/x86_64-linux-gnu/libnl-route-3.so  /usr/lib/x86_64-linux-gnu/libnl-genl-3.so  /usr/lib/x86_64-linux-gnu/libpthread.a  -lfmt  /usr/lib/x86_64-linux-gnu/libfmt.so.7.1.3  -Wl,--as-needed  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Gui.so.5.15.2  /home/gleb/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5.15.2 && cd /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug && /home/gleb/Qt/Tools/CMake/bin/cmake -E copy /home/gleb/Codes/spiderweb/spiderweb/external/oui.txt /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/bin/oui.txt && cd /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug && /home/gleb/Qt/Tools/CMake/bin/cmake -E copy /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/submodules/radiotap/libradiotap.so /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/bin/libradiotap.so && cd /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug && /home/gleb/Qt/Tools/CMake/bin/cmake -E copy /home/gleb/Codes/spiderweb/spiderweb/external/create_ap /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/bin/create_ap && cd /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug && /home/gleb/Qt/Tools/CMake/bin/cmake -E copy /home/gleb/Codes/spiderweb/spiderweb/external/get_client /home/gleb/Codes/spiderweb/build-spiderweb-Desktop_Qt_5_15_2_GCC_64bit-Debug/bin/get_client
/usr/bin/ld: wirelessModule/libwirelessModule.a(filewrite.cpp.o): undefined reference to symbol 'pcap_dump'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libpcap.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
09:49:22: The process "/home/gleb/Qt/Tools/CMake/bin/cmake" exited with code 1.
Error while building/deploying project spiderweb (kit: Desktop Qt 5.15.2 GCC 64bit)
When executing step "Build"
09:49:22: Elapsed time: 00:01.

CMakeList.txt:

cmake_minimum_required(VERSION 3.14)
project(spiderweb)

message (STATUS "CMAKE_INSTALL_PREFIX is ${CMAKE_INSTALL_PREFIX}")

set(CMAKE_CXX_STANDARD 14)

set(SPIDERWEB_SOURCE_DIR ${SPIDERWEB_SOURCE_DIR} "${CMAKE_SOURCE_DIR}")
set(SPIDERWEB_SUBMODULES_SOURCE_DIR ${SPIDERWEB_SUBMODULES_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/submodules")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

add_subdirectory(resources)
add_subdirectory(osModule)
add_subdirectory(wirelessModule)
add_subdirectory(comModule)
add_subdirectory(submodules/radiotap)
add_subdirectory(submodules/apimodulesspiderweb)
add_subdirectory(submodules/transportmodulestsp)
add_subdirectory(submodules/cyphermodulesblowfish)
add_subdirectory(submodules/coremodulesclient)
add_subdirectory(submodules/Common/SpiderWeb)

add_executable(${PROJECT_NAME} spiderweb.cpp
                               spiderweb.h
                               main.cpp
                               submodules/interface/baseinterface.cpp
                               submodules/interface/coreModulesInterface.cpp
                               submodules/interface/baseinterface.h
                               submodules/interface/coreModulesInterface.h
)

set_property(TARGET ${PROJECT_NAME} PROPERTY AUTOMOC ON)

set_target_properties(${PROJECT_NAME}
    PROPERTIES
    #ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    #LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)

target_link_libraries(${PROJECT_NAME} resources
                                      osModule
                                      wirelessModule
                                      radiotap
                                      comModule
                                      spiderwebstructs
)

find_package(Boost COMPONENTS REQUIRED)
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})

find_package(PCAP REQUIRED)
target_link_libraries(${PROJECT_NAME} ${PCAP_LIBRARY})

find_package(LibNL REQUIRED)
target_link_libraries(${PROJECT_NAME} ${MOD_LIBS} ${LibNL_LIBRARY}
                                                  ${LibNL_ROUTE_LIBRARY}
                                                  ${LibNL_GENL_LIBRARY}
)

find_library(TINS_LIBRARY tins)
target_link_libraries(${PROJECT_NAME} ${TINS_LIBRARY})

find_package(PcapPlusPlus REQUIRED)
target_link_libraries(${PROJECT_NAME} ${PcapPlusPlus_LIBRARIES})

find_package(fmt REQUIRED)
target_link_libraries(${PROJECT_NAME} fmt)

find_package(spdlog REQUIRED)
target_link_libraries(${PROJECT_NAME} spdlog::spdlog)

find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets)

add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy
    ${SPIDERWEB_SOURCE_DIR}/external/oui.txt
    ${CMAKE_BINARY_DIR}/bin/oui.txt
)

add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy
    ${CMAKE_BINARY_DIR}/submodules/radiotap/libradiotap.so
    ${CMAKE_BINARY_DIR}/bin/libradiotap.so
)

add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy
    ${SPIDERWEB_SOURCE_DIR}/external/create_ap
    ${CMAKE_BINARY_DIR}/bin/create_ap
)

add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy
    ${SPIDERWEB_SOURCE_DIR}/external/get_client
    ${CMAKE_BINARY_DIR}/bin/get_client
)

CMakeList.txt в wirelessmodule:

set(wirelessModule_SRCS
        oui.cpp
        packetparse.cpp
        filewrite.cpp
        scandata.cpp
        parsedata.cpp
        wirelessinterfacecontroller.cpp
        device.cpp
)

set(wirelessModule_HDRS
        oui.h
        packetparse.h
        filewrite.h
        scandata.h
        parsedata.h
        wirelessinterfacecontroller.h
        device.h
)

add_library(wirelessModule ${wirelessModule_SRCS} ${wirelessModule_HDRS})

set_property(TARGET wirelessModule PROPERTY AUTOMOC ON)

find_package(Qt5 COMPONENTS Widgets REQUIRED)
target_link_libraries(wirelessModule Qt5::Core)

target_link_libraries(wirelessModule osModule resources radiotap)

target_include_directories(
        wirelessModule PUBLIC ${SPIDERWEB_SOURCE_DIR}
                              ${SPIDERWEB_SUBMODULES_SOURCE_DIR}
)

upd 2

Файл cmake/Modules/FindPCAP.cmake:

find_path(PCAP_ROOT_DIR
    NAMES include/pcap.h
)

find_path(PCAP_INCLUDE_DIR
    NAMES pcap.h
    HINTS ${PCAP_ROOT_DIR}/include
)

find_library(PCAP_LIBRARY
    NAMES pcap
    HINTS ${PCAP_ROOT_DIR}/lib
)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PCAP DEFAULT_MSG
    PCAP_LIBRARY
    PCAP_INCLUDE_DIR
)

include(CheckCSourceCompiles)
set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY})
check_c_source_compiles("int main() { return 0; }" PCAP_LINKS_SOLO)
set(CMAKE_REQUIRED_LIBRARIES)

# check if linking against libpcap also needs to link against a thread library
if (NOT PCAP_LINKS_SOLO)
    find_package(Threads)
    if (THREADS_FOUND)
        set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
        check_c_source_compiles("int main() { return 0; }" PCAP_NEEDS_THREADS)
        set(CMAKE_REQUIRED_LIBRARIES)
    endif ()
    if (THREADS_FOUND AND PCAP_NEEDS_THREADS)
        set(_tmp ${PCAP_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
        list(REMOVE_DUPLICATES _tmp)
        set(PCAP_LIBRARY ${_tmp}
            CACHE STRING "Libraries needed to link against libpcap" FORCE)
    else ()
        message(FATAL_ERROR "Couldn't determine how to link against libpcap")
    endif ()
endif ()

include(CheckFunctionExists)
set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY})
check_function_exists(pcap_get_pfring_id HAVE_PF_RING)
check_function_exists(pcap_dump_open_append HAVE_PCAP_DUMP_OPEN_APPEND)
set(CMAKE_REQUIRED_LIBRARIES)

mark_as_advanced(
    PCAP_ROOT_DIR
    PCAP_INCLUDE_DIR
    PCAP_LIBRARY
)

Ответы (0 шт):