Boost
发布
arrow_drop_down
先前发布 (1.68.0)
2018年8月1日
依赖项
本次发布新增了 17 个依赖项 (分布在 10 个库中),并 移除了 4 个依赖项 (分布在 4 个库中)。
平台 文件 SHA256 哈希
Unix boost_1_68_0.tar.bz2 7f613....6d8b7
boost_1_68_0.tar.gz da341....995cf
Windows boost_1_68_0.7z 59804....1109a
boost_1_68_0.zip 3b1db....4d5cd
Windows (二进制) boost_1_68_0-bin-msvc-all-32-64.7z 79b3c....8387d
boost_1_68_0-msvc-10.0-32.exe f5e93....fdcda
boost_1_68_0-msvc-10.0-64.exe d0e8a....c27e7
boost_1_68_0-msvc-11.0-32.exe 0f2da....b46c5
boost_1_68_0-msvc-11.0-64.exe db24d....01ac5
boost_1_68_0-msvc-12.0-32.exe 9dbf1....16cd9
boost_1_68_0-msvc-12.0-64.exe 7b50d....293ac
boost_1_68_0-msvc-14.0-32.exe 2473a....635f4
boost_1_68_0-msvc-14.0-64.exe f77df....7a82f
boost_1_68_0-msvc-14.1-32.exe dfce9....cba97
boost_1_68_0-msvc-14.1-64.exe e3011....cf259
boost_1_68_0-msvc-8.0-32.exe 4dc2b....72fa1
boost_1_68_0-msvc-8.0-64.exe 9c18d....cc36d
boost_1_68_0-msvc-9.0-32.exe 2bdd2....784af
boost_1_68_0-msvc-9.0-64.exe f6e0d....c4d60

版本 1.68.0

2018年8月9日 03:46 GMT

文档

Windows 用户说明

Boost.WinAPI 已更新,在可能的情况下默认目标为 Windows 7。先前版本默认为 Windows Vista。

Boost.WinAPI 在许多 Boost 库(包括 Boost.Beast、Boost.Chrono、Boost.DateTime、Boost.Dll、Boost.Log、Boost.Process、Boost.Stacktrace、Boost.System、Boost.Thread 和 Boost.UUID)中用作 Windows SDK 抽象层。要选择目标 Windows 版本,请在编译 Boost 和用户代码时,将 BOOST_USE_WINAPI_VERSION 定义为类似于 _WIN32_WINNT 的数字版本。例如:

    b2 release define=BOOST_USE_WINAPI_VERSION=0x0501 stage

Windows API 版本号列表可在 页面上查看。

新库

  • YAP:
    • 一个用于 C++14 及以上版本的表达式模板库,来自 Zach Laine。

更新的库

  • Beast:
    • 此版本修复了实现中所有复合操作中缺失的执行器工作保护。建议遇到与异步完成处理程序相关的崩溃的用户进行升级。
    • 有关更改的完整列表,请参阅官方 发布说明
  • Context:
    • #78: 带有 context-impl=ucontext 的链接器错误:重复定义 boost::context::detail::current_rec
  • Coroutine2:
    • #14: 堆栈展开时崩溃
    • #18: 关于为什么使用 coroutine2 的一些指导
    • #20: 由于 C2039 错误,测试编译失败
    • #22: 未定义行为文档
  • Fiber:
    • #170: buffered_channel::try_push 文档不正确
    • #172: WIN64: 使用 mingw-w64 进行构建时出现“从 'HANDLE' 到 'std::thread::native_handle_type' 的无效转换”错误
    • #175: 抛出异常“操作不被允许”
    • NUMA 支持已移至 extra 库 (fiber-numa);通过属性 numa (numa=on) 启用
  • Fusion:
    • 为 GCC 4.4/c++0x 上的 fusion::deque 构造函数歧义调用添加了解决方法(PR#178commit)。
    • 修复了 C 风格数组的错误(PR#177)。
    • 修复了 fusion::for_each 签名,使其按值传递 functor(#4427)。
      • 这可能会破坏使用不可复制(不可移动)functor的现有代码,但实现已不正确很长时间;文档从一开始就是正确的。因此,请确保您的用法。
    • 修复了 fusion::transform 上无意的 MPL 占位符替换错误(#5490)。
    • 将如何将 Fusion 序列适应为 MPL 序列的描述移至 mpl 部分(#4029)。
    • 添加了关于适应类型 IO 功能的注释(#6091)。
  • 几何:
    • 改进
      • 469 SRS 变换中的水平网格偏移 (nadgrids)(由于潜在的接口更改,暂未记录)。
      • 478 球面和地理坐标系的点段距离。
      • 487 球面和地理 cs 距离中缺失的几何图形组合
      • 489 附加的直接大地测量问题公式,供内部使用
    • 已解决的问题
      • 470 球面和地理段长度断言失败。
      • 471 球面多边形的无效包络
      • 498 带有 expand() 和 make_inverse() 在球面和地理 CS 上的意外结果
      • 504 未使用的参数警告。
    • 错误修复
      • 488 处理 closing_iterator 和 ever_circling_range_iterator 中的非真引用
      • 495 VxWorks 7 交叉编译问题。
  • GIL:
    • 添加了
    • 更改了
    • 已移除
      • IO v1 扩展已被 IO v2 取代。
  • :
    • 有条件地将已弃用/已移除的 C++98 std::bind1st 替换为 std::bind,将 std::auto_ptr 替换为 std::unique_ptr,将 std::random_shuffle 替换为 std::shuffle。(PR#89
    • 修复 VS2015 发布版本上的编译器错误(PR#84
    • 修复 Stanford GraphBase 示例(PR#87
    • 修复 iterator_core_access 的友元声明(PR#103
    • 添加缺失的 <boost/iterator.hpp> include(PR#104
    • 避免未使用的变量警告(PR#90
    • 修复文档中的一些拼写错误(PR#88PR#98PR#102
    • 修复测试和示例中的一些问题(PR#85PR#105
  • Lexical Cast:
    • 修复 clang-tidy 警告(#12092
  • Log:
    • 改进了对 VxWorks 的支持。(PR#39
    • 在 x86 PIE 目标上,在 dump 流操纵器实现中保存和恢复 ebx 寄存器。
  • 数学:
    • 支持任意精度的复值求积以及因此的轮廓积分
    • 提高多项式加法的性能
    • 继续改进数值积分例程,特别是添加了对路径积分的支持。
    • 提高了 erfc 函数有理近似的准确性。
  • 多索引容器:
    • 可移动但不可复制元素的容器现在可以被序列化(ticket #13478)。感谢 Sébastien Paris 的报告。
    • multi_index_container 的默认构造函数不再是 explicit(ticket #13518)。
  • Multiprecision:
    • 添加了对复数多精度数(multiprecision numbers)的支持。
    • 已更改为无符号整数类型的转换,使其截断以匹配标准定义的行为。
    • 修正了 MPFR 字符串格式化中的错误。
    • 修正了 cpp_dec_float 从 long long 转换时的未定义行为。
    • 添加了对 Eigen 互操作性的支持。
    • float128.hpp: 修复了 Intel 在 Windows 上的构建。
    • 修复了包含混合表达式的表达式模板展开时,临时变量中使用的类型。
    • 修复了 gmp_float 到定点字符串转换中的无限循环。
    • 更新了表达式模板,当尝试执行不支持的操作时,会发出带有更好错误消息的 static_asserts。
    • 修复了 cpp_int 中增加到零未正确设置符号的错误。
    • 删除了 std::move 的错误使用,并依赖 NVRO。
    • 修复了与 MPIR-3.0 更改的兼容性。
    • 修复了 cpp_bin_float 中,当指数类型为 long long 时,或者当转换为比当前类型更宽的整数时,各种转换错误。
    • 修复了由于引入 std::byte 导致的 GCC-8 兼容性问题。
  • Optional:
    • 为与 std::optional 兼容,添加了成员函数 has_value()问题 #52)。
    • 添加了成员函数 map(),用于使用类型为 T -> U 的函数将 optional<T> 转换为 optional<U>
    • 添加了成员函数 flat_map(),用于使用类型为 T -> optonal<U> 的函数将 optional<T> 转换为 optional<U>
  • Predef:
    • 添加了对 __ARM_ARCH 宏的支持。(来自 Tim Blechmann)
    • 添加了对 PTX 架构的检测。(来自 Benjamin Worpitz)
    • 添加了对 nvcc 编译器检测的支持。(来自 Benjamin Worpitz)
    • 添加了对检测 CUDA 的支持。(来自 Benjamin Worpitz)
    • 移除了对已过时的 BOOST_ARCH_AMD64 的引用。(来自 Peter Kolbus)
  • Program Options:
    • 支持一个选项的多个长名称,感谢 Eyal Rozenberg(PR#53
  • Python:
    • 修复了自动链接支持(Windows)中的错误(#193
  • Rational:
    • 修正了 normalize() 中的未定义行为(PR#19)。
  • 系统:
    • 在 C++14 及以上版本中,为 error_code 和 error_condition 成员添加了 constexpr(PR#23)。
  • 信号:
    • 移除通知: Boost.Signals 将在下一个版本中移除。Boost.Signals 已在 1.54.0 版本中弃用。请立即迁移到 Boost.Signals2,以免造成中断。
  • Spirit:
    • Spirit.X3
      • 列表解析器的小优化(PR#368)。
      • 将容器属性通过序列解析器或一元结束符传递到序列解析器(PR#370 #12085)。
      • 更细粒度的序列属性检查消息(PR#371)。
      • 移除了 skip_over 中的冗余检查(PR#373)。
      • 针对整个 x3::variant 中的 VS2015 noexcept constexpr 错误进行了临时修复(PR#379)。
      • 修复了 calc4b 示例编译问题(PR#384)。
      • 代码小改进(PR#374)。
    • Spirit.Qi
      • 通过排列和 sequence_or 运算符修复了 ADT 支持(PR#376)。
      • 特化了随机访问的 iterator_source(PR#383)。
      • 移除了 skip_over 中的冗余检查(PR#373)。
    • Spirit.Karma
      • 修复了 get_absolute_value 函数中的 UB(PR#246)。
      • 修复了当 ADT getter 按值返回时的 use-after-scope 错误(PR#375 #6126)。
    • Spirit.Classic
  • Stacktrace:
    • 修复了在 Solaris 和其他区分 dladdr 函数中地址为 const 的平台上编译问题(github 54)。
    • 移除了对 Boost.LexicalCast 的依赖。
  • Test:
    • Boost.test v3.8,更多详情请参阅 更改日志
    • 破坏性更改
      • master_test_suite_t 对象不再可复制
    • 新功能
      • 数据集测试用例现在可以使用命令行参数
    • Bug 修复和拉取请求。
  • TypeIndex:
    • 移除了对 Boost.MPL 的依赖。
  • Uuid:
    • 重大更改: 为向后兼容而进行的 sha1 细节命名空间头文件重定向已被移除(PR#69)。
    • 添加了对 std::hash 的支持(PR#67)。
    • 添加了对随机生成器上移动语义的支持(PR#74)。
    • 在获取熵时正确处理 EINTR(PR#74)。
    • 在 Linux 上使用 getrandom(2) 而不是 getentropy(3)(PR#75)。

测试的编译器

Boost 的主要测试编译器是:

  • Linux
    • Clang:3.0、4.0.1、6.0.1
    • Clang, C++0x:3.0
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
    • Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1
    • Clang, C++17: 5.0.2, 6.0.1
    • GCC:4.4.7、4.5.3、4.6.3、5.4.0、8.0.1
    • GCC, C++0x:4.4.7
    • GCC, C++11:4.7.3、4.8.5、4.9.4、5.4.0、6.4.0、7.1.0、8.0.1
    • GCC, C++14:5.4.0、5.5.0、6.4.0、7.1.0、7.3.0、8.0.1
    • GCC, C++17:7.3.0、8.0.1
    • Intel, C++14:18.0
  • OS X
    • Apple Clang: 9.0.0, 9.1.0
    • Apple Clang, C++11: 9.0.0, 9.1.0
    • Apple Clang, C++14: 9.0.0, 9.1.0
    • Apple Clang, C++17: 9.1.0
    • Apple Clang, C++1z:9.0.0
  • Windows
    • GCC:3.4.5、4.1.2、4.2.4、4.3.3、4.4.0、4.5.4
    • GCC, C++0x:4.6.4
    • GCC, C++11:4.7.3、4.8.1、4.9.3
    • GCC, C++14:5.1.0、5.2.0、5.3.0、6.1.0、6.2.0、6.3.0、6.4.0
    • GCC, C++17:7.1.0、7.2.0、7.3.0
    • Visual C++:7.1、8.0、9.0、10.0、11.0、12.0、14.0、14.1
  • FreeBSD
    • Clang:4.0.0
    • Clang, C++11:4.0.0
    • Clang, C++14:4.0.0
    • Clang, C++1z:4.0.0

Boost 的其他测试编译器包括:

  • Linux
    • Clang:3.0、3.8.1、3.9.1、4.0.1、5.0.2、6.0.1
    • Clang, C++0x:3.0
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
    • Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1, 7.0.0
    • Clang, C++17: 5.0.2, 6.0.1
    • GCC:4.4.7、4.5.3、4.6.3、4.9.4、5.4.0、5.5.0、8.0.1
    • GCC, C++0x:4.4.7
    • GCC, C++11:4.7.3、4.8.5、4.9.4、5.4.0、6.4.0、7.1.0、8.0.1
    • GCC, C++14:5.4.0、5.5.0、6.3.0、6.4.0、7.1.0、7.3.0、8.0.1、8.1.0
    • GCC, C++17:7.3.0、8.0.1
    • Intel, C++14:18.0
  • OS X
    • Apple Clang: 9.0.0, 9.1.0
    • Apple Clang, C++11: 9.0.0, 9.1.0
    • Apple Clang, C++14: 9.0.0, 9.1.0
    • Apple Clang, C++17: 9.1.0
    • Apple Clang, C++1z:9.0.0
  • Windows
    • GCC:3.4.5、4.1.2、4.2.4、4.3.3、4.4.0、4.5.4
    • GCC, C++0x:4.6.4
    • GCC, C++11:4.7.3、4.8.1、4.9.3
    • GCC, C++14:5.1.0、5.2.0、5.3.0、6.1.0、6.2.0、6.3.0、6.4.0
    • GCC, C++17:7.1.0、7.2.0、7.3.0
    • Visual C++:7.1、8.0、9.0、10.0、11.0、12.0、14.0、14.1
  • FreeBSD
    • Clang:4.0.0
    • Clang, C++11:4.0.0
    • Clang, C++14:4.0.0
    • Clang, C++1z:4.0.0

致谢

Daniel James、Vladimir Prus 和 Marshall Clow 负责本次发布。

贡献者

John Maddock
John Maddock
贡献者
NAThompson
NAThompson
贡献者
Mateusz Łoskot
Mateusz Łoskot
贡献者
Christian Henning
Christian Henning
贡献者
James E. King III
James E. King III
贡献者
Adam Wulkiewicz
Adam Wulkiewicz
贡献者
Peter Dimov
Peter Dimov
贡献者
Vissarion Fisikopoulos
Vissarion Fisikopoulos
贡献者
Marshall Clow
Marshall Clow
贡献者
Vinnie Falco
Vinnie Falco
贡献者
Andrey Semashev
Andrey Semashev
贡献者
Kohei Takahashi
Kohei Takahashi
贡献者
Stefan Seefeld
Stefan Seefeld
贡献者
K. Noel Belcourt
K. Noel Belcourt
贡献者
Daniel James
Daniel James
贡献者
Paul A. Bristow
Paul A. Bristow
贡献者
Raffi Enficiaud
Raffi Enficiaud
贡献者
Justin LaPolla
贡献者
Ion Gaztañaga
Ion Gaztañaga
贡献者
Nikita Kniazev
Nikita Kniazev
贡献者
Neil Groves
Neil Groves
贡献者
Oliver Kowalke
Oliver Kowalke
贡献者
Zach Laine
Zach Laine
贡献者
Nick
Nick
贡献者
Glen Fernandes
Glen Fernandes
贡献者
Jakub Szuppe
Jakub Szuppe
贡献者
jofaber
jofaber
贡献者
Alain Miniussi
Alain Miniussi
贡献者
Brian Kuhl
Brian Kuhl
贡献者
Alexander Zaitsev
Alexander Zaitsev
贡献者
Daniela Engert
Daniela Engert
贡献者
Dimitrij Mijoski
Dimitrij Mijoski
贡献者
Vicente J. Botet Escriba
Vicente J. Botet Escriba
贡献者
Antony Polukhin
Antony Polukhin
贡献者
Andrzej Krzemieński
Andrzej Krzemieński
贡献者
Tim Blechmann
Tim Blechmann
贡献者
Klemens Morgenstern
Klemens Morgenstern
贡献者
William Gallafent
William Gallafent
贡献者
Rene Rivera
Rene Rivera
贡献者
Robert Ramey
Robert Ramey
贡献者
Samuel Ainsworth
Samuel Ainsworth
贡献者
Frank Richter
Frank Richter
贡献者
Vladimir Prus
Vladimir Prus
贡献者
Louis Dionne
Louis Dionne
贡献者
Lakshay Garg
Lakshay Garg
贡献者
Joaquin M. López Muñoz
Joaquin M. López Muñoz
贡献者
Mike Maximoff
Mike Maximoff
贡献者
Murray Cumming
Murray Cumming
贡献者
Eric Niebler
Eric Niebler
贡献者
Joel de Guzman
Joel de Guzman
贡献者
Edward Diener
Edward Diener
贡献者
Justinas V. Daugmaudis
Justinas V. Daugmaudis
贡献者
Alexei Khlebnikov
Alexei Khlebnikov
贡献者
Michel Morin
Michel Morin
贡献者
Jie
Jie
贡献者
Katrin Leinweber
Katrin Leinweber
贡献者
Barrett Adair
Barrett Adair
贡献者
Casey Carter
Casey Carter
贡献者
E Kawashima
E Kawashima
贡献者
Kristian Popov
Kristian Popov
贡献者
Phillip Palk
Phillip Palk
贡献者
Jakob Lykke Andersen
Jakob Lykke Andersen
贡献者
Josef Cibulka
贡献者
Mads Jensen
Mads Jensen
贡献者
Marcel Raad
Marcel Raad
贡献者
Alexander Lauser
Alexander Lauser
贡献者
Jason Rice
Jason Rice
贡献者
Frank Mori Hess
Frank Mori Hess
贡献者
Jan Beich
Jan Beich
贡献者
Benjamin Worpitz
Benjamin Worpitz
贡献者
Jeremy W. Murphy
Jeremy W. Murphy
贡献者
Alexander Matthes
Alexander Matthes
贡献者
Akira Takahashi
Akira Takahashi
贡献者
Jeff Hammond
贡献者
Peter Kolbus
Peter Kolbus
贡献者
Thomas Kent
Thomas Kent
贡献者
Steven Watanabe
Steven Watanabe
贡献者
sehe
sehe
贡献者
Egor Pugin
Egor Pugin
贡献者
martin-osborne
martin-osborne
贡献者
pradeep
pradeep
贡献者
Nathan Cook
Nathan Cook
贡献者
spreadsort
spreadsort
贡献者
Andreas Scherer
Andreas Scherer
贡献者
Emre Turkay
Emre Turkay
贡献者
Maël Valais
Maël Valais
贡献者
Jean-Philippe DUFRAIGNE
Jean-Philippe DUFRAIGNE
贡献者
Denis Davydov
Denis Davydov
贡献者
Beman Dawes
Beman Dawes
贡献者
Hartmut Kaiser
Hartmut Kaiser
贡献者
Damian Jarek
Damian Jarek
贡献者
Richard Powell
贡献者
Benjamin Buch
Benjamin Buch
贡献者
Marcel Metz
Marcel Metz
贡献者
Lubomir Bourdev
贡献者
Christian Andersen
贡献者
cos-public
cos-public
贡献者
Niklas Angare
Niklas Angare
贡献者
Jonathan Wakely
Jonathan Wakely
贡献者
Shoaib Meenai
Shoaib Meenai
贡献者
Kolya Matteo
Kolya Matteo
贡献者
mateuszlewko
mateuszlewko
贡献者
Pierre Zawadil
Pierre Zawadil
贡献者
Tobias Reh
Tobias Reh
贡献者
Jared Grubb
Jared Grubb
贡献者
Ola Nilsson
Ola Nilsson
贡献者
Henry Schreiner
Henry Schreiner
贡献者
Joe Loser
Joe Loser
贡献者
akumta
akumta
贡献者
Michael Munday
Michael Munday
贡献者
Matt Barr
贡献者
Gregor Jasny
Gregor Jasny
贡献者
Ahmed Charles
Ahmed Charles
贡献者
Bálint Cserni
Bálint Cserni
贡献者
Orgad Shaneh
Orgad Shaneh
贡献者
Daniel J. H
Daniel J. H
贡献者
Robin Eckert
Robin Eckert
贡献者
Ed Catmur
Ed Catmur
贡献者
nekko1119
nekko1119
贡献者
Joakim Tosteberg
贡献者
marcinz
marcinz
贡献者
mikael
mikael
贡献者
Nik Reiman
Nik Reiman
贡献者
David Lacey
David Lacey
贡献者
Romain Geissler
Romain Geissler
贡献者
Tom Hughes
Tom Hughes
贡献者
coderakki
coderakki
贡献者
Sergey Zubkov
Sergey Zubkov
贡献者
felixguendling
贡献者
Axel Huebl
Axel Huebl
贡献者
Jeremy Fincher
Jeremy Fincher
贡献者
Daisuke Sakurai
Daisuke Sakurai
贡献者
Julien Schueller
Julien Schueller
贡献者
The Gitter Badger
The Gitter Badger
贡献者
Henri Menke
Henri Menke
贡献者
Markus Gerstel
Markus Gerstel
贡献者
Arvid Norberg
Arvid Norberg
贡献者
Eyal Rozenberg
贡献者
compmaniak
compmaniak
贡献者
Kyle Lutz
Kyle Lutz
贡献者
rydotyosh
rydotyosh
贡献者
Tomasz Jonak
Tomasz Jonak
贡献者
Bryce Adelstein-Lelbach
Bryce Adelstein-Lelbach
贡献者
Christof Krüger
Christof Krüger
贡献者
Gaurav
Gaurav
贡献者
emfrias
emfrias
贡献者
Christopher Wecht
贡献者
Masahide Sakamaki
Masahide Sakamaki
贡献者
Tony Lewis
Tony Lewis
贡献者
Lorenz Breidenbach
Lorenz Breidenbach
贡献者
Daniel Arndt
Daniel Arndt
贡献者
mihai.pop
mihai.pop
贡献者
felix
felix
贡献者
Tim Wynants
Tim Wynants
贡献者
nk
nk
贡献者
Minmin Gong
Minmin Gong
贡献者
Arne B
贡献者
Saliya Hamparawa
Saliya Hamparawa
贡献者
hlynurf
hlynurf
贡献者
hammond
hammond
贡献者
Piotr Podusowski
Piotr Podusowski
贡献者
Justin Viiret
Justin Viiret
贡献者
Moritz Wanzenböck
Moritz Wanzenböck
贡献者
Dimitri John Ledkov
Dimitri John Ledkov
贡献者
Gogs
贡献者
Mateusz Krawiec
Mateusz Krawiec
贡献者