【发布时间】:2012-04-30 22:43:00
【问题描述】:
我已经为 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 还是这个平台太旧了?我已经不在我的元素中了,所以任何关于让它工作的指导都会很棒。
【问题讨论】:
-
Solaris 8 于 2000 年 2 月发布,现已结束其支持生命周期。对于今天的任何事情来说,它都太旧了。