У меня есть функция со следующим кодом:
static void
calculate_lifetime(uint16_t p_weight){
double param, result;
param = (double) p_weight;
result = log (param);
}
Я включаю математическую библиотеку, но при компиляции получаю ошибку:
неопределенная ссылка на `журнал'
Я что-то не так делаю при кастинге? Когда я удаляю параметр и ставлю число вроде 8, он компилируется правильно. Я компилирую для Contiki.
-lm
? - person Eric Jablow   schedule 23.02.2014<ath.h>
недостаточно, вы также должны связать математическую библиотеку (с-lm
для gcc). - person M Oehm   schedule 23.02.2014math.h
. - person Shafik Yaghmour   schedule 23.02.2014-lm
должно следовать за именем исходного файла в командной строке компилятора. - person Keith Thompson   schedule 23.02.2014result
никогда не используется, поэтому компилятор может в конечном итоге оптимизировать все тело функции, а поскольку оно статично, он может просто не вызывать функцию и не генерировать для нее какой-либо код. Если бы функция возвращала результат, все было бы хорошо. - person Jonathan Leffler   schedule 23.01.2015