【发布时间】:2016-04-01 12:46:30
【问题描述】:
我在一个依赖于 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 安装阶段 --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:注意:#pragma 消息:注意:不推荐使用此标头 (template_arity_spec.hpp) # pragma message("注意:不推荐使用此标头 (template_arity_spec.hpp)")
这就是为什么我怀疑我的更改没有生效。
非常感谢您的帮助
【问题讨论】:
-
这似乎是 Boost 的一个已知问题,谷歌一下。
-
我已经做到了,可能我没有做对。
-
见permalink.gmane.org/gmane.comp.lib.boost.devel/264164。由于这些只是警告,您可能可以继续您的工作并等待修复。或者,您可以根据需要测试旧的 boost 版本。