sqrt()
,floor()
、pow()
という簡単な機能を作りたいと思います。だから、私は<math.h>
を含めた。私の機能を使用しようとすると、私のプログラムは、sqrt()
とfloor()
は存在しないと言います。私は3倍のファイルをチェックして書き直しましたが、それでも同じエラーが出ます。 <math.h>
ディレクトリに何か問題があるかどうかを調べるために、私は同じことを計算した別のファイルを作っていました。私は今は無知です。私は間違って何をしていますか?ファイルをCに含める
非機能プログラムのコード:
#include <math.h>
#include "sumofsquares.h"
int sumofsquares(int x){
int counter = 0;
int temp = x;
while(temp != 0){
temp = temp - (int)pow(floor(sqrt(temp)), 2);
counter ++;
}
return counter;
}
作業テストファイル:
エラーこの
が/tmp/ccm0CMTL.oある:関数でsumofsquares ': /home/cs136/cs136Assignments/a04/sumofsquares.c:9:未定義参照 からsqrt' /home/cs136/cs136Assignments/a04/sumofsquares.c:9:床」collect2は未定義 参照:ldが1つの出口が
をstatus`返さ私は
正確なエラーとは何ですか?どのようにプログラムをコンパイルしていますか? – cnicutar
@cnicutar:このエラーは/tmp/ccm0CMTL.oです。関数 'sumofsquares ': /home/cs136/cs136Assignments/a04/sumofsquares.c:9:' sqrt'への未定義の参照 /home/cs136/cs136Assignments/a04/sumofsquares.c:9:未定義の「floor」への参照 collect2:ldが1終了ステータスを返しました。 仮想Ubuntu OSでrunCを使用しています。 – user1222282
これは*リンケージ*の問題で、*インクルード*の問題ではありません。答えはcnicutarで確認してください。 – karlphillip