Ошибка компоновщика Boost :: iostreams, не удается найти zlib

Я пытаюсь создать свой проект C++ с помощью Boost :: iostreams и получаю следующую ошибку компоновщика:

 undefined reference to `boost::iostreams::zlib::deflated'

Я проверил, что мой cmake смог найти библиотеки ускорения:

-- Boost version: 1.65.0
-- Found the following Boost libraries:
--   system
--   date_time
--   iostreams
--   regex

и Boost :: iostreams добавлен как зависимость к моему проекту.

Что могло быть причиной этого?

Я установил Boost 1.65 из исходников с помощью команды ./bootstrap.sh. Когда я набираю ./b2, я получаю уведомление об отсутствии zlib:

- zlib                     : no  (cached)
- bzip2                    : no  (cached)
- lzma                     : no  (cached)
- iconv (libc)             : yes (cached)
- icu                      : no  (cached)
- icu (lib64)              : no  (cached)
- native-atomic-int32-supported : yes (cached)
- native-syslog-supported  : yes (cached)
- pthread-supports-robust-mutexes : yes (cached)
- compiler-supports-visibility : yes (cached)
- compiler-supports-ssse3  : yes (cached)
- compiler-supports-avx2   : yes (cached)
- gcc visibility           : yes (cached)
- long double support      : yes (cached)

Это причина ошибки компоновщика? Если да, как я могу создать ускорение с включенным zlib?

Библиотека называется zlib, а не zlip.

melpomene 27.08.2018 14:45

Первым шагом будет установка zlib-dev на ваш компьютер (т.е. библиотеки плюс необходимые файлы заголовков). Затем переустановите boost, и вы должен увидите zlib : yes. Если это не сработает, спросите еще раз ...

DevSolar 27.08.2018 14:48

Я перешел с Boost 1.66 на Boost 1.69 и получил ту же проблему. В Windows у меня нет проблем с компоновщиком, но в Linux есть. Я исправил это, включив в свой проект файлы zlib.cpp и gzip.cpp. На эти файлы есть ссылки в документации boost iostreams: boost.org/doc/libs/1_69_0/libs/iostreams/doc/installation.ht‌ мл. Boost 1.69 - это первый раз в Linux, когда мне пришлось включить эти файлы в свой проект, и я включил их только в крайнем случае. Я еще не выяснил причину, и в документации говорится, что файлы не нужны под Linux.

DannyK 20.05.2019 23:45
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
1 456
0

Другие вопросы по теме