【发布时间】:2013-08-29 10:48:15
【问题描述】:
我一直在使用 boost.build 或 b2 来构建项目。我正在尝试添加 C++11 结构,例如 auto 和 begin,但 Jamfile 目录中的标准调用 b2 release 无法识别这些。
【问题讨论】:
标签: c++11 bjam boost-build
我一直在使用 boost.build 或 b2 来构建项目。我正在尝试添加 C++11 结构,例如 auto 和 begin,但 Jamfile 目录中的标准调用 b2 release 无法识别这些。
【问题讨论】:
标签: c++11 bjam boost-build
在 Jamroot 中添加以下内容
<toolset>gcc:<cxxflags>-std=gnu++0x
<toolset>clang:<cxxflags>-std=c++11
似乎工作正常
【讨论】:
您需要告诉编译器启用 c++11 支持
例如,对于 gcc,您可以使用
b2 toolset=gcc cxxflags="-std=c++11"
(或使用bjam 而不是b2 的相同命令;现在它们与bjam 相同,以保持向后兼容性。)
【讨论】:
bjam 而不是b2?或者说,这样做有什么意义?
bjam 的重复可执行文件以实现向后兼容性