当我编译以下代码片段时,我从编译器中收到此错误消息:
/tmp/ccT1yBa1.o: In function `main':
test.c:(.text.startup+0x34): undefined reference to `log'
collect2: error: ld returned 1 exit status
_
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <math.h>
void main(){
srand(time(NULL));
double r1 = (rand() % 1000)/1000.0;
double r2 = log(r1);
printf("%lf\n",r2);
}
编译
gcc -O2 test.c
出了什么问题?
答案 0 :(得分:2)
您忘记了-lm
与数学库的关联。
gcc -O2 test.c -lm