2014-02-09 2 views
0

Я включил файл заголовка math.h.Ошибка, возникающая из функции Pow в C

Если я что-то вроде

float var = pow(2, 3) 

это соответствует и нет никаких ошибок. Но если я пытаюсь что-то вроде

float var2 = 5; 
float var = pow(var2, 2) 

он не компилируется и дает мне ошибку

undefined reference to `pow' collect2: error: ld returned 1 exit status 

Я не очень хорошо знаком с с, но я понятия не имею, почему это происходит, как это отлично, не используя переменную. Это похоже на то, что я использую переменную в функции pow, она дает мне эту ошибку. Я использую Xubuntu, а затем выполняю команду

"cc -g -std=c99 myfile.c 

для компиляции программы.

+0

компилировать с флагом '-lm' нравится: НКА yours.c -lm -о yours –

+3

@ mb84 Совершенно неправильно и бесполезно. Вы даже прочитали вопрос? вы понимаете, что происходит с «int» при передаче функции, ожидающей «float»? –

+0

@ H2CO3 Я знаю. Я просто смешиваю его с нерешенной перегрузкой, но это не так, вы правы. – mb84

ответ

2

Чтобы связать в математике библиотеке, которое вам необходимо для функции pow(), компилировать с этим переключателем добавил:

gcc -g -std=c99 myfile.c -lm 
Смежные вопросы