gpt4 book ai didi

c++ - 如何使用较旧的 C++ 标准编译 Boost? (特别是 C++03)

转载 作者:可可西里 更新时间:2023-11-01 15:52:00 25 4
gpt4 key购买 nike

我在一个依赖于 Boost ( http://kratos-wiki.cimne.upc.edu/index.php/Main_Page ) 的项目中工作,这个项目目前只支持 C++03。随着 gcc++ (v.5) 的最新更新,C++11 已成为默认标准,技术上我解决了修改 CXX_FLAGS 添加的问题:

-std=c++03

问题来自 Boost 库,我无法使用 C++03 std 对其进行编译(我想,我不知道如何检查我编译的是哪个 std)。我尝试使用以下命令来编译 Boost:

./b2 install stage --with-python --with-serialization cxxflags="-std=c++03"

我也尝试过修改 Jamroot 文件,添加以下行:

  <toolset>gcc:<cxxflags>-std=gnu++03
<toolset>clang:<cxxflags>-std=c++03

但问题仍然存在,当我编译整个项目时,我收到以下类型的警告(多次):

/usr/local/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")

这就是为什么我怀疑我的更改没有生效。

非常感谢您的帮助

最佳答案

我认为您现在可以安全地忽略这些警告。我正在使用 gcc 5.2.1 和 std=c++11 编译 boost 1_60_0,我得到了相同的警告。有一个 ticket在上面,但与此同时它并没有给我带来任何问题。我在 boost 代码中注释掉了两行 [#pragma warning],所以我的构建中没有太多分散注意力的输出:

boost/type_traits/detail/template_arity_spec.hpp 第 13 行:

// noisy: # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")

boost/type_traits/detail/bool_trait_def.hpp 第 18 行:

// noisy: # pragma message ("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")

更新 问题在 boost 1.61.0 中仍然存在。我再次使用了完全相同的修复方法。

关于c++ - 如何使用较旧的 C++ 标准编译 Boost? (特别是 C++03),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com