Я хочу сделать простую функцию с участием sqrt()
, floor()
и pow()
. Итак, я включил <math.h>
. Когда я пытаюсь использовать свою функцию, моя программа говорит, что sqrt()
и floor()
не существует. Я triple проверил мои файлы и переписал их, но все равно дает ту же ошибку. Чтобы проверить, нет ли чего-то неправильного в каталоге <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: undefined reference to sqrt' /home/cs136/cs136Assignments/a04/sumofsquares.c:9: не определено ссылка на полу»collect2: л.д. возвращается 1 выход status`
Я использую RunC на виртуальной ОС Ubuntu для компиляции
Какова точная ошибка? Как вы компилируете свои программы? – cnicutar
@cnicutar: ошибка в этом '/tmp/ccm0CMTL.o: В функции' sumofsquares ': /home/cs136/cs136Assignments/a04/sumofsquares.c:9: неопределенная ссылка на 'sqrt' /home/cs136/cs136Assignments/a04/sumofsquares.c: 9: неопределенная ссылка на «пол» collect2: ld возвращен 1 статус выхода' Я использую runC на виртуальной Ubuntu OS для усложнения. – user1222282
* проблема * связь * проблема * включая * проблема. Проверьте ответ cnicutar. – karlphillip