我已经为 Solaris 8 sparc 构建了 gcc 4.6.1。我正在编译一些使用 boost::lexical_cast (boost 1.48) 的代码,我得到了这个错误:
boost/math/special_functions/sign.hpp: In function 'int boost::math::detail::signbit_impl(T, const boost::math::detail::native_tag&)'
error: 'signbit' is not a member of 'std'
(对于 fpclassify、isfinite、isnormal、isinf、isnan 也有类似的错误)
我查看了 cmath 标头,它根据是否定义了 _GLIBCXX_USE_C99_MATH 有条件地定义了 std::signbit。我运行了 cpp -dM ,发现 _GLIBCXX_USE_C99_MATH 没有定义。有没有办法启用 C99 支持?我必须重建 libc 还是这个平台太旧了?我已经脱离了我的元素,所以任何关于让它工作的指导都会很棒。