1
私はlog10f()の使用に問題があります。 私はLinux(2.6.28-11-ジェネリック)とgcc(3.4.6)を使ってプログラムをコンパイルしています。log10f()は標準的な数学ライブラリの一部ではありませんか?
次のソースは実行時に1.000000をコンパイルして出力します。
#include <stdio.h>
#include <math.h>
int main() {
printf("%f\n", log10f(10));
return 0;
}
1にはないとリンクエラーをスロー下回っている間:
#include <stdio.h>
#include <math.h>
int main() {
printf("%f\n", log10f(100));
return 0;
}
エラー:未定義の参照
をlog10fするには、(log10fです)の一部として定義されていません標準的な数学ライブラリ(マニュアルページは数学ライブラリの一部であることを示しています)
なぜ2番目の例はコンパイルされないのですか?必要な
libm.a
ライブラリが自動的に実行可能ファイルにリンクされていないためだ
DR、ありがとうございます。最初の例では、-lmオプションを使用せず、まだコンパイルされていましたが、これは私に困惑しています。 – pgm
リンクステップのような音は初めて実行されませんでした。 –