Я создаю определенную пользователем функцию внутри своей программы, и когда я пытаюсь использовать pow
, компилятор дает мне ошибку и говорит, что есть undefined reference to pow()
. Я видел подобные проблемы, и решение было добавить -lm
при компиляции. Я сделал это, и все же у него все еще есть проблема. Это произошло только в моих пользовательских функциях, потому что они работали до того, как я просто положил pow
в функцию main
моего кода. Он также работает, если показатель составляет 2
вместо 0.5
. Спасибо, что помогли.Когда я пытаюсь скомпилировать свой код, я получаю сообщение об ошибке «undefined reference to pow()» даже при связывании с '-lm'
#include<math.h>
float standard_deviation (float variance) {
float deviation = 0.0;
deviation = pow(variance, 0.5);
return deviation;
} /* mean */
float standard_error (float standard_deviation, int number_of_elements) {
return standard_deviation/pow(number_of_elements, 0.5);
} /* mean */
Как вы строите свою программу? Из командной строки? Где в командной строке вы положили '-lm'? Поскольку вопрос заказа, библиотеки должны быть после исходных/объектных файлов. –
Показать (отдельные) команды (ы), которые вы используете для компиляции и ссылки. Еще лучше, сделайте полномасштабный автономный пример, который показывает эту проблему. – Evert
@Steven Carlisle, который вы компилятор? – shafeeq