当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何使用较旧的C++标准编译Boost?(特别是C++03)》经验,为你挑选了1个好方法。

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

-std = C++ 03

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

./b2安装阶段--with-python --with-serialization cxxflags =" - std = c ++ 03"

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

  gcc:-std=gnu++03
  clang:-std=c++03

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

/usr/local/include/boost/type_traits/detail/template_arity_spec.hpp:13:84:注意:#pragma message:注意:不推荐使用此标头(template_arity_spec.hpp)#pragma message("注意:使用此标头(template_arity_spec.hpp)已弃用")

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

非常感谢您的帮助



1> moodboom..:

我想你现在可以安全地忽略这些警告.我正在用gcc 5.2.1和std = c ++ 11编译boost 1_60_0,我得到了相同的警告.它上面有一张票,但同时它并没有给我带来任何问题.我在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中.我再次使用了相同的修复程序.


同样在这里.现在可以忽略这一点.感谢您的票证链接.
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有