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 库中用作 Windows SDK 抽象层,包括 Boost.Beast, Boost.Chrono, Boost.DateTime, Boost.Dll, Boost.Log, Boost.Process, Boost.Stacktrace, Boost.System, Boost.Thread 和 Boost.UUID。要选择目标 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:
    • 此版本修复了在所有组合操作的实现中缺少 executor work guard 的问题。建议遇到与异步完成处理程序相关的崩溃的用户进行升级。
    • 有关更改的完整列表,请参阅官方 发布说明
  • Context:
    • #78: 链接器错误:context-impl=ucontextboost::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: 抛出异常 "Operation not permitted"
    • NUMA 支持已移至 extra 库 (fiber-numa);通过属性 numa (numa=on) 启用。
  • Fusion:
    • 为 GCC 4.4/c++0x 上的 fusion::deque 构造函数的歧义调用添加了变通方法 (PR#178, commit)。
    • 修复了 C 风格数组的 bug (PR#177)。
    • 修复了 fusion::for_each 的签名,使其按值接受 functor (#4427)。
      • 这可能会破坏现有使用了不可复制(不可移动)functor 的代码,但实现了一段时间以来都不正确;文档从一开始就是正确的。因此,请确保您的使用方式。
    • 修复了 fusion::transform 上意外的 MPL 占位符替换 bug (#5490)。
    • 将如何将 Fusion 序列转换为 MPL 序列的描述移至 mpl 部分 (#4029)。
    • 添加了关于适配类型 IO 功能的注释 (#6091)。
  • 几何:
    • 改进
      • 469 SRS 转换中的水平网格偏移 (nadgrids) (由于潜在的接口更改,目前未记录)。
      • 478 球面和地理坐标系的点段距离。
      • 487 球面和地理坐标系距离中缺失的几何图形组合
      • 489 内部使用的附加直接测地线问题公式
    • 已解决的问题
      • 470 球面和地理短段的断言失败。
      • 471 球形多边形的无效包络
      • 498 球面和地理坐标系 expand() 和 make_inverse() 的意外结果
      • 504 未使用的参数警告。
    • 错误修复
      • 488 处理 closing_iterator 和 ever_circling_range_iterator 中的非真实引用
      • 495 VxWorks 7 交叉编译问题。
  • GIL:
    • 添加了
      • 该库现在需要 C++11 兼容的编译器。
      • 新的顶级 all-in-one `include/boost/gil.hpp` 头文件 (PR#70)。
      • 新的 Toolbox 扩展,已评审并被 Boost 接受
    • 更改了
    • 已移除
      • IO v1 扩展已被 IO v2 取代。
  • :
    • 有条件地用 std::bind 替换已弃用/已移除的 C++98 std::bind1st,用 std::unique_ptr 替换 std::auto_ptr,用 std::shuffle 替换 std::random_shuffle (PR#89)。
    • 修复 VS2015 发布版本时的编译器错误 (PR#84)
    • 修复 Stanford GraphBase 示例 (PR#87)
    • 修复 iterator_core_access 的友元声明 (PR#103)
    • 添加缺失的 <boost/iterator.hpp> include (PR#104)
    • 避免未使用的变量警告 (PR#90)
    • 修复文档中的一些拼写错误 (PR#88, PR#98, PR#102)
    • 修复测试和示例中的一些问题 (PR#85, PR#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:
    • 增加了对复数多精度数字的支持。
    • 将转换为无符号整数类型的行为更改为截断,以匹配标准定义的行为。
    • 修正 MPFR 字符串格式化中的错误。
    • 修复 cpp_dec_float 从 long long 转换时的未定义行为。
    • 添加了对 Eigen 互操作性的支持。
    • float128.hpp: 修复 Intel 在 Windows 上的构建。
    • 修复了包含混合表达式的表达式模板扩展时使用的类型中的临时变量。
    • 修复了 gmp_float 到定点字符串转换中的无限循环。
    • 更新了表达式模板,当尝试执行不支持的操作时,发出带有更好错误消息的 static_assert。
    • 修复 cpp_int 中递增到零时未正确设置符号的 bug。
    • 移除了 std::move 的错误使用,并依赖 NVRO。
    • 修复了与 MPIR-3.0 更改兼容性的问题。
    • 修复了 cpp_bin_float 中,当指数类型为 long long 时,或我们转换为比实际宽度更宽的整数时,发生的各种转换错误。
    • 修复了由于引入 std::byte 而导致的 GCC-8 兼容性问题。
  • Optional:
    • 添加了成员函数 has_value() 以与 std::optional 兼容 (issue #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) 的 bug (#193)。
  • Rational:
    • 修复了 normalize() 中的未定义行为 (PR#19)。
  • 系统:
    • 在 C++14 及以上版本中为 error_code 和 error_condition 成员添加 constexpr (PR#23)。
  • Signals:
    • 移除通知:Boost.Signals 将在下个版本中移除。Boost.Signals 已在 1.54.0 版本中弃用。请立即迁移到 Boost.Signals2 以避免中断。
  • Spirit:
    • Spirit.X3
      • 列表解析器的小优化 (PR#368)。
      • 将容器属性通过序列解析器或一元结束符传递到底层序列解析器 (PR#370 #12085)。
      • 更精细的序列属性检查消息 (PR#371)。
      • skip_over 中移除了冗余检查 (PR#373)。
      • 在 VS2015 的 noexcept bug 中对整个 x3::variant 进行了 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 按值返回时的使用后范围 bug (PR#375 #6126)。
    • Spirit.Classic
      • 修复了在 PR#336 中引入的回归错误 (PR#386)。
      • 代码小幅改进 (PR#367)。
  • 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
贡献者