c++ - 我怎么知道应该使用哪个 C++ 标准版本来构建哪个版本的 Boost?

标签 c++ c++11 boost build configuration

当您下载 Boost 源代码时,没有指示您应该使用哪个 C++ 语言标准版本来构建它。但是 - 显然没有自动选择,因为如果你不设置,比如说,至少 --std=c++11 那么一些 C++11 特性的配置检查就会失败。因此,由您(构建者)来设置。

但是 - 我怎么知道哪个 C++ 标准版本用于哪个 Boost 版本?某处有 table 吗?

具体来说,我刚刚使用 --std=c++14 构建了 Boost 1.62.0,并收到了无数关于使用已弃用的 sts::auto_ptr 的警告。那么,我应该坚持使用 C++11 吗?我怎么知道?

最佳答案

不幸的是,一些 boost 开发人员没有用最新的标准(甚至 C++11)更新他们的实现来解决您提出的问题。 有一个boost_config一组可用于保持兼容性的宏。

但通常编译器的问题是使用旧的而不是新的。

关于c++ - 我怎么知道应该使用哪个 C++ 标准版本来构建哪个版本的 Boost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41545205/

相关文章:

c++ - C++中指针数组的语法

c++ - memcpy_p问题,如何解决?

c++ - 数组在 union 中重叠?

c++ - std::thread对象构造过程中的细节

c++ - boost shared_ptr<XX> 是线程安全的吗?

python - boost::python 保护的析构函数问题

c++ - 谁能解释一下下面的代码片段?

c++ - 导致 .exe 错误的警告?

c++ - 最重要的常量和右值引用

c++ - 与 boost .lib 链接