
Ubuntu日本語フォーラム

ログインしていません。
OSは12.04.1(64bit)、gccバージョンは「Ubuntu/Linaro 4.6.3-1ubuntu5」です。
三角関数を使ったCファイルをコンパイルしてみました。
gcc ファイル名.c
/tmp/cc6aItks.o: In function `main':
ファイル名.c:(.text+0x34): undefined reference to `sin'
collect2: ld はステータス 1 で終了しました
#include <stdio.h>
#include <math.h>
int main(void)
{
double deg = 45.0;
double result = sin( deg / 180.0 * 3.14);
printf( "%f\n", result );
return 0;
}
上記ファイルを、
double result = sin( 45.0 / 180.0 * 3.14);
と修正すると、正常にコンパイル、実行できます。
代入ができないと、とても不便です。
これはコンパイラの問題なのでしょうか?
それとも、三角関数リファレンス用のgccオプションが有るのでしょうか?
アドバイスをいただけると助かります。よろしくお願い致します。
オフライン
futatsuya710 による投稿:
それとも、三角関数リファレンス用のgccオプションが有るのでしょうか?
はい、そうです。
math.h をインクルードした場合、-lmオプションを付けます。
gcc sample.c -lm
オフライン
-lmオプションで代入できました。
これで三角関数が使えます。
aaabbbcccdddeeefffggghhh様、ありがとうございました。
オフライン