我正在一个依赖于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)已弃用")
这就是为什么我怀疑我的更改没有生效.
非常感谢您的帮助
我想你现在可以安全地忽略这些警告.我正在用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中.我再次使用了相同的修复程序.