アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のプログラムは、2^-0.94を計算するものです。
このプログラムはwindows2000のマシンでコンパイルできるのですが、UNIXのマシンだと
Unresolved text symbol "pow"
というエラーがでてコンパイルできません。
UNIXのマシンは「cc ファイル名」でコンパイルを実行します。
どうすればコンパイルできるようになるのでしょうか。お手数ですが、教えてください。よろしくお願いします。
※windows2000マシンのコンパイラ:Borland C++ Compiler 5.5

#include <stdio.h>
#include <math.h>
int main()
{
int a;
double b,c;

a=2;
b=-0.94;
c=pow(a,b);
printf("%lf\n",c);

return 0;
}

A 回答 (2件)

コンパイルする際に


 cc hoge.c -lm
でどうでしょう?

powコマンドはmath.h内に定義されており、
これをリンクしてコンパイルする際には-lmオプションが必要だったかと思われます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
おかげさまで無事にコンパイルできました。

お礼日時:2005/11/21 10:56

コンパイラがgccなら、


-lm  オプション付きでコンパイルしてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
おかげさまで無事にコンパイルできました。
オプションが必要とは知りませんでした。まだ勉強不足ですね。

お礼日時:2005/11/21 10:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!