为什么下面的程序用gcc编译,...
#include<stdio.h>
#include<math.h>
void foo(double x) {
printf("%f", sin(2));
}
int main() {
foo(1);
}
...而这个其他程序没有?
#include<stdio.h>
#include<math.h>
void foo(double x) {
printf("%f", sin(x));
}
int main() {
foo(1);
}
它给出了以下错误信息:
/tmp/ccVT7jlb.o: nella funzione "foo":
fun.c:(.text+0x1b): riferimento non definito a "sin"
collect2: error: ld returned 1 exit status*
最佳答案
您需要像这样链接到 libm.so
gcc -Wall -Wextra -Werror source.c -o executable -lm
查看-lm
关于c - gcc 的奇怪编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618638/