使用 boost.spirit 时的弃用警告

deprecated warnings while using boost.spirit

我正在尝试使用 boost.spirit.qi 编写一些解析器,但是在编译时我收到以下已弃用的警告:

In file included from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:12:0 ... 

#pragma message: NOTE: Use of this header (bool_trait_def.hpp) is deprecated

#pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated

我是不是使用了错误的解析器或旧的解析器?我怎样才能摆脱这些警告?

编辑:/usr/include/boost/iostreams/detail/is_dereferenceable.hpp 以某种方式包含在 /usr/include/boost/spirit/include/qi.hpp 中 我正在使用 Boost 版本 1.61

我在使用 boost 几何包时遇到了类似的问题,无法升级 boost 来修复错误。

使用以下定义禁用 boost 弃用警告:

#define BOOST_ALLOW_DEPRECATED_HEADERS
#define BOOST_BIND_GLOBAL_PLACEHOLDERS

请注意,第二个定义处理与不推荐使用的警告一起出现的常见警告,可能不需要。