お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-10-15 20:04:05

futatsuya710
メンバ
登録日: 2012-08-27

C言語の三角関数(sin,cos,tan)リファレンスが不便

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オプションが有るのでしょうか?
アドバイスをいただけると助かります。よろしくお願い致します。

オフライン

 

#2 2012-10-15 20:32:45

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: C言語の三角関数(sin,cos,tan)リファレンスが不便

futatsuya710 による投稿:

それとも、三角関数リファレンス用のgccオプションが有るのでしょうか?

はい、そうです。
math.h をインクルードした場合、-lmオプションを付けます。

gcc sample.c -lm

オフライン

 

#3 2012-10-15 21:27:48

futatsuya710
メンバ
登録日: 2012-08-27

Re: C言語の三角関数(sin,cos,tan)リファレンスが不便

-lmオプションで代入できました。
これで三角関数が使えます。
aaabbbcccdddeeefffggghhh様、ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB