LLVM 项目博客

LLVM 项目新闻和来自前线的详细信息

Clang++ 构建 Boost!

Boost 是一组开源、经过同行评审的 C++ 库,以拥有许多适用于 C++ 程序员的实用组件而闻名。它还因使用尖端的 C++ 技术而闻名,例如广泛的模板和预处理器元编程,这些技术已将许多 C++ 编译器推到了极限。Boost 不仅是一个库,它已成为 C++ 编译器的基准和卖点:你的编译器是否符合标准足以构建 Boost?

Clang 是。


今天早上,Clang++ 首次成功完成 Boost 回归测试运行,通过了 Boost 发布分支上的所有适用 C++ 测试 [*。根据今天的 结果,Clang 成功地编译了比其他已建立的编译器更多的 Boost,而 Boost 历来是为这些编译器量身定制的(通过各种解决方法和配置开关)。事实上,Clang 在 Boost 中的 编译器配置 完全没有 Boost 的任何 C++98/03 缺陷宏。

具体来说:测试是在 Mac OS X 10.6(Snow Leopard)上运行的,使用 Clang 针对 x86-64,使用 Clang 工具集构建的 Boost 调试版本和来自 Subversion 主干的 Clang 发布版本。

如果你想尝试使用 Clang 构建 Boost,首先从 Subversion 主干 获取 Clang,然后从 Subversion 获取 Boost(发布分支最稳定),并通过添加以下行来编辑你的 ~/user-config.jam 文件

using clang ;

假设“clang++”位于你的路径中。然后,你可以运行

bjam toolset=clang

以指示 Boost.Build 使用 Clang 作为其编译器。


[*] 对于那些关注分数的人来说,“构建”结果是构建系统测试,而不是编译器测试,MPI 测试因 损坏 的序列化库而被禁用。我们正在与库作者合作解决 Boost 中的序列化问题。