2007年9月18日火曜日
math.h関連のコンパイルエラー

引き続きC言語のお勉強中。
ちょっとポインタあたりを検索しつつ、お勉強してみる。

でもって、サンプルを実行中、どーしてもコンパイルエラーになる。

$ gcc -o sample sample.c
/tmp/ccgJ0RxZ.o(.text+0x30): In function `sample':
: undefined reference to `sqrt'
collect2: ld はステータス 1 で終了しました
$


なんだよー、math.hきちんとインクルードしてんのにさぁ。

答えは簡単。
で定義されている関数の本体は全て math ライブラリにあります。したがってこのような関数を用いるには、リンクの際に -lm が必要になるわけです。
The Linux GCC HOWTO - 6.2 ライブラリに尋ねる(sin() はどこにいるの?)

いやはやお恥ずかしい限りです。
だからさ、初心者なんだって、結局は。
きちんと勉強をした方がよさそうだなぁ。

The Linux GCC HOWTO
http://www.linux.or.jp/JF/JFdocs/archive/GCC-HOWTO.html



0 コメント | コメントを書く
Template Design: © 2007 Envy Inc.