Не удается подключить библиотеку zlib к проекту.
Вот такой CMake имеется
cmake_minimum_required(VERSION 3.7)
project(PcapCatalog)
set(CMAKE_CXX_STANDARD 14)
set (HEADERS ethernet_frame.h icmp_packet.h ipv4_packet.h ipv6_packet.h pcap.h tcp_segment.h udp_datagram.h)
set(SOURCE_FILES ethernet_frame.cpp icmp_packet.cpp ipv4_packet.cpp ipv6_packet.cpp
pcap.cpp Source.cpp tcp_segment.cpp udp_datagram.cpp Source.cpp)
set (SOURCES_LIB kaitai/kaitaistream.cpp)
set(HEARERS_LIB kaitai/kaitaistream.h kaitai/kaitaistruct.h)
add_library (kaitai STATIC ${HEADERS_LIB} ${SOURCES_LIB})
include_directories(kaitai)
add_subdirectory(kaitai)
find_package( ZLIB REQUIRED )
add_executable(PcapCatalog ${HEADERS} ${SOURCE_FILES})
if ( ZLIB_FOUND )
include_directories( ${ZLIB_INCLUDE_DIRS} )
target_link_libraries( PcapCatalog ${ZLIB_LIBRARIES} )
endif( ZLIB_FOUND )
target_link_libraries(PcapCatalog kaitai)
Вот такой результат в CLion
libkaitai.a(kaitaistream.cpp.o): In function kaitai::kstream::process_zlib(std::__cxx11::basic_string, std::allocator >):
/home/cryztal/CLionProjects/PcapCatalog/kaitai/kaitaistream.cpp:456: undefined reference to inflateInit_'
/home/cryztal/CLionProjects/PcapCatalog/kaitai/kaitaistream.cpp:471: undefined reference to inflate'
/home/cryztal/CLionProjects/PcapCatalog/kaitai/kaitaistream.cpp:483: undefined reference to inflateEnd'
collect2: error: ld returned 1 exit status
CMakeFiles/PcapCatalog.dir/build.make:278: ошибка выполнения рецепта для цели «PcapCatalog»
make[3]: *** [PcapCatalog] Ошибка 1
CMakeFiles/Makefile2:67: ошибка выполнения рецепта для цели
«CMakeFiles/PcapCatalog.dir/all»
make[2]: *** [CMakeFiles/PcapCatalog.dir/all] Ошибка 2
CMakeFiles/Makefile2:79: ошибка выполнения рецепта для цели «CMakeFiles/PcapCatalog.dir/rule»
make[1]: *** [CMakeFiles/PcapCatalog.dir/rule] Ошибка 2
Makefile:162: ошибка выполнения рецепта для цели «PcapCatalog»
make: *** [PcapCatalog] Ошибка 2
Я не знаю, что за библиотека kaitai, но сообщение об ошибке линкер выдаёт именно для неё, а вовсе не для PcapCatalog.
Следовательно, если ссылка inflateInit_ расположена в библиотеке zlib, то должно быть и подключение этой библиотеки к kaitai. Нечто вроде:
target_link_libraries(kaitai ${ZLIB_LIBRARIES})
Вот только с порядком этих подключений надо разобраться.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый вечер! Необходимо реализовать полностью без CRT
Учился раньше на NetBeansРешил попробовать один из самых известных компиляторов
Что нужно добавить в CMakeList чтобы подключить Ws2_32lib?
Некоторые веб-камеры выдают перевёрнутые кадры, как правило из-за кривых драйверов