奥村@松阪大です。
From: Ken-ichi Yasuda <yasu_ken@xxxxxxxxxxxxxxxxxxxx>
Subject: [vine-users:050767] gcc の問題について
Date: Thu, 23 May 2002 17:11:04 +0900
Message-ID: <20020523171104.07b54f71.yasu_ken@xxxxxxxxxxxxxxxxxxxx>
yasu_ken> 安田と申します。
yasu_ken> Vine Linux2.5(FTP)を使っています。
yasu_ken> それで、gccについて、ちょっと不具合があるようなので、
yasu_ken> どうか、ご教授ください。
yasu_ken> 問題というのは、以下のプログラムをコンパイルしたときに、
yasu_ken> エラーが出ることです。
yasu_ken>
yasu_ken> #include <stdio.h>
yasu_ken> #include <math.h>
yasu_ken>
yasu_ken> int main()
yasu_ken> {
yasu_ken> double x, s;
yasu_ken>
yasu_ken> scanf("%f",&x);
yasu_ken> s = sin(x);
yasu_ken>
yasu_ken> printf("%f\n",s);
yasu_ken>
yasu_ken> return 0;
yasu_ken> }
yasu_ken>
yasu_ken> エラーメッセージは、
yasu_ken>
yasu_ken> /tmp/ccNb6t26.o: In function `main':
yasu_ken> /tmp/ccNb6t26.o(.text+0x27): undefined reference to `sin'
yasu_ken> collect2: ld returned 1 exit status
yasu_ken>
yasu_ken> というものです。
yasu_ken> どうやら、math.hをうまく読みこめていないようなのですが、
yasu_ken> これはどうしてでしょうか?
yasu_ken> それとも、自分のとんちんかんな勘違いなのでしょうか?
後者です。:-)
gcc hoge.c -lm としてください。数学関数を使った場合は -lm です。
あと,もう一つ,明白なバグがあります。:-)
--
Haruhiko Okumura <okumura@xxxxxxxxxxxxxxxxx>
Matsusaka University, 1846 Kubo-cho, Matsusaka, 515-8511 Japan
http://www.matsusaka-u.ac.jp/~okumura/