2012-04-30 20 views
4

私はgcc 4.6.1をSolaris 8 sparc用にビルドしました。私はブースト:: lexical_castは(1.48ブースト)使用するいくつかのコードをコンパイルしていると私はこのエラーを取得:Solaris 8 SPARCで_GLIBCXX_USE_C99を有効にするにはどうすればよいですか?

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の、正常で、ISINF、ISNAN用も同様のエラー)私が見

をcmathヘッダーで定義し、_GLIBCXX_USE_C99_MATHが定義されているかどうかによってstd :: signbitを条件付きで定義します。私はcpp -dMを実行しました。_GLIBCXX_USE_C99_MATHは定義されていません。 C99サポートを有効にする方法はありますか? libcを再構築する必要がありますか、このプラットフォームはあまりにも古すぎますか?私は自分の要素から外れているので、この仕事を得るためのガイダンスはすばらしいものになるでしょう。

+0

のSolaris 8は、2000年2月にリリースし、そのサポートライフの終わりを過ぎて、今でました。今日は何のためにもかなり古すぎます。 – alanc

答えて

1

プラットフォームCライブラリは、C99 FPライブラリの追加をサポートするには古すぎる可能性があります。 Sun Studio 12 User's Guideから

Note - Though the compiler defaults to supporting the features of C99 listed below, standard headers provided by the Solaris software in /usr/include do not yet conform with the 1999 ISO/IEC C standard. If error messages are encountered, try using -xc99=none to obtain the 1990 ISO/IEC C standard behavior for these headers.

関連する問題