与gcc奇怪的编译问题

时间:2015-02-19 22:57:36

标签: c gcc compiler-errors

为什么以下程序使用 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*

1 个答案:

答案 0 :(得分:2)

您需要像这样链接到libm.so

gcc -Wall -Wextra -Werror source.c -o executable -lm

请参阅-lm