の関数のいくつかをテストしようとしていfenv.h
ますが、以下の関数 ld をコンパイルすると、 と で失敗しundefined reference to 'feclearexcept'
ますundefined reference to 'fetestexcept'
。私は uclibc に対してコンパイルされた強化された gentoo を実行していますが、これは少なくともある程度関連していると思われます
#include <stdio.h> /* printf */
#include <math.h> /* sqrt */
#include <fenv.h>
#pragma STDC FENV_ACCESS on
int main ()
{
feclearexcept (FE_ALL_EXCEPT);
sqrt(-1);
if (fetestexcept(FE_INVALID)) printf ("sqrt(-1) raises FE_INVALID\n");
return 0;
}
fenv.h
です/usr/include
。には静的ライブラリと動的ライブラリ ( libm.a
、libm.so
) があり/usr/lib
ます。私はコンパイルしていgcc -o test test.c -lm
ます; リンカが関連する関数を見つけられない理由は誰にもありません。fenv.h
対応するライブラリがないようです。
更新: この 10 年前のブログ投稿は、fenv が uclibc でサポートされていないことを示唆しているようです。今もそうであるかどうかは判断できませんが、もしそうなら、何かすべきことがあります。 http://uclibc.10924.n7.nabble.com/missing-fenv-h-for-qemu-td2703.html