几天前,我让math.h的atan函数正常工作,但出于某种原因,它不再编译了。我得到了平常的
'broken_code.c:(.text+0x49):未定义的对'atan‘的引用
我在编译时包含了-lm标志。
我试着在不同的系统(另一个Linux系统和基于BSD的系统)上编译和运行它,它运行得很好。我真的不知道编译器是如何工作/链接的,所以任何帮助都是非常感谢的。这是我的密码:
#include <math.h>
#include <stdio.h>
int main() {
double y1, x1, y2, x2;
y1 = 0;
x1 = 0;
y2 = 1;
x2 = 0;
y1 = atan((y1-y2)/(x1-x2));
printf("%lf\n\n", y1);
return 0;
}发布于 2018-05-14 20:05:05
也许你把数学图书馆联系错了顺序。例如
gcc -lm prog.c可能不起作用了
gcc prog.c -lm将要
https://stackoverflow.com/questions/50338040
复制相似问题