C++ Boost.Log表达式v1.71将不会在C++;20

C++ Boost.Log表达式v1.71将不会在C++;20,c++,boost,boost-log,C++,Boost,Boost Log,包括C++20下的标题(仅在gcc 10.1下测试): /celibs/boost\u 1\u 71\u 0/boost/log/attributes/named\u scope.hpp:128:29:错误:“boost::log::v2s\u mt\u posix::attributes::named\u scope\u list::allocator\u type'{aka'class std::allocator'}中的“reference”未命名类型 128 | typedef分配器_t

包括C++20下的
标题(仅在gcc 10.1下测试):

/celibs/boost\u 1\u 71\u 0/boost/log/attributes/named\u scope.hpp:128:29:错误:“boost::log::v2s\u mt\u posix::attributes::named\u scope\u list::allocator\u type'{aka'class std::allocator'}中的“reference”未命名类型
128 | typedef分配器_type::reference;
|                             ^~~~~~~~~
...
使用的代码示例来自。切换到C++17或BoostV1.73允许编译成功。查看Boost.Log v1.73 changelog,有以下条目:

将库的各个组件移植到std::分配器 提高与C++20分配器的兼容性


“改进兼容性”部分意味着有一种方法可以让它工作,有人知道解决方法吗?我不想升级到v1.73。

或者,这意味着这是一项正在进行的工作。请使用1.73进行测试和/或提交错误报告。如果您使用的是尖端编译器,则需要升级库以进行必要的兼容性更改。没有解决方法。如果您想使用C++20,您必须升级或修补1.71才能使用
std::allocator\u traits
/celibs/boost_1_71_0/boost/log/attributes/named_scope.hpp:128:29: error: 'reference' in 'boost::log::v2s_mt_posix::attributes::named_scope_list::allocator_type' {aka 'class std::allocator<boost::log::v2s_mt_posix::attributes::named_scope_entry>'} does not name a type

  128 |     typedef allocator_type::reference reference;
      |                             ^~~~~~~~~
...