私の問題はちょっと面白くて、私のUbuntuボックスで何が起こっているのかを知りたいと思います。リンクエラー - gcc -lm
私は、次のコード無用コンパイルとgcc -lm -o useless useless.c
とリンク:これまでのところは良い
/*File useless.c*/
#include <stdio.h>
#include <math.h>
int main()
{
int sample = (int)(0.75 * 32768.0 * sin(2 * 3.14 * 440 * ((float) 1/44100)));
return(0);
}
を。
/*File useless.c*/
#include <stdio.h>
#include <math.h>
int main()
{
int freq = 440;
int sample = (int)(0.75 * 32768.0 * sin(2 * 3.14 * freq * ((float) 1/44100)));
return(0);
}
と私は同じコマンドライン、gccの応答使用してコンパイルしよう:しかし、私はこれを変更するとき
/tmp/cctM0k56.o: In function `main':
ao_example3.c:(.text+0x29): undefined reference to `sin'
collect2: ld returned 1 exit status
して停止します。何が起こっている?なぜ私はそのようにコンパイルできないのですか?
私もsudo ldconfig -v
を試しましたが、成功しませんでした。
ありがとうございました!
ルーカス。
'int main()'は 'int main(void)'でなければなりません。 'return'ステートメントのかっこは不要です。 'return 0;'と書くだけです。 –