Ну, я думаю, что моя проблема немного интересна, и я хочу понять, что происходит в моем поле 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
без успеха.
Спасибо заранее!
Lucas.
'int main()' должно быть 'int main (void)'. Скобки в инструкции 'return' не нужны; вы можете просто написать 'return 0;'. –