我一直在使用 boost iostream 库(版本 1.65),主要使用以下标头:<boost/iostreams/filtering_streambuf.hpp>
,没有问题。
在我将另一个名为 cpprest 的库添加到我的项目 ( https://github.com/Microsoft/cpprestsdk
) 之后。我在我的 cmake 中收到此警告:
usr/bin/ld: warning: libboost_system.so.1.58.0, needed by /usr/lib/libcpprest.so, may conflict with libboost_system.so.1.65.0
同样在包含 boost 标头之后,我得到了这个神秘的编译错误:
/usr/local/include/boost/iostreams/detail/access_control.hpp: In constructor ‘boost::iostreams::detail::prot_<U>::prot_(V)’:
/usr/local/include/boost/iostreams/detail/access_control.hpp:37:43: error: class ‘boost::iostreams::detail::prot_<U>’ does not have any field named ‘v’
template<typename V> prot_(V v) : U(v) { }
这是由于 Boost 1.58(cpprest 使用的)和 1.65 不兼容造成的吗?还是 Boost iostream 中的错误?
我实际上将我的提升降级到 1.58,但我仍然看到同样的错误。