Почему функция trunc C показывает мне ошибку?

Когда я попытался запустить функцию trunc в C, она выдает ошибку, в которой говорится неопределенная ссылка на `trunc', как решить эту ошибку?

код ошибки здесь:

/usr/bin/ld: /tmp/ccTANPox.o: in function `floatmod': temp1.c:(.text+0x3a6): undefined reference to `trunc' collect2: error: ld returned 1 exit status


person Abhishek Rathore    schedule 15.02.2021    source источник
comment
Вы связались с -lm   -  person Jabberwocky    schedule 15.02.2021
comment
Примечание: где найти информацию, необходимую для связи с -lm? Так написано на справочной странице.   -  person dratenik    schedule 15.02.2021
comment
@Jabberwocky, я не знаю, что такое -lm, сэр.   -  person Abhishek Rathore    schedule 15.02.2021
comment
libm — стандартная математическая библиотека для Unixy OS.   -  person Shawn    schedule 15.02.2021
comment
@ Шон, сэр, как связать libm с нашей программой?   -  person Abhishek Rathore    schedule 15.02.2021


Ответы (1)


если я скомпилирую код ниже с gcc main.c, то я вижу эту ошибку (которая похожа на вашу)

/tmp/ccbouRK0.o: In function `main':
main.c:(.text+0x23): undefined reference to `trunc'
collect2: error: ld returned 1 exit status

и compile работает с gcc -lm main.c (где вы видите, как использовать -lm).

#include <math.h>
#include <stdio.h>
int main()
{
   double f=9.8;
   int i;
   i=trunc(f);
   printf("%i",i);
   return 0;    
}
person sidcoder    schedule 15.02.2021