首页 > 解决方案 > Boost::iostreams 链接器错误,找不到 zlib

问题描述

我正在尝试使用 Boost::iostreams 构建我的 C++ 项目,但出现以下链接器错误:

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

我检查了我的 cmake 是否能够找到 boost 库:

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

并且 Boost::iostreams 作为依赖项添加到我的项目中。

是什么原因造成的?

./bootstrap.sh我使用命令从源代码安装了 Boost 1.65 。当我输入时,./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 的情况下构建 boost?

标签: c++boostlinker-errorsboost-iostreams

解决方案


推荐阅读