Linux下怎么调用math.h?

netcrab 2012-04-02 10:33:50
写个用计算三角函数的小程序,在Windows的Eclipse下可以编译、运行,但在Linux下却编译错误。

各位大虾们知不知道是什么问题?
...全文
1323 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-05-23
  • 打赏
  • 举报
回复
引用 5 楼 mymtom 的回复:
有问题,找男人。 man cos NAME cos, cosf, cosl -- cosine functions LIBRARY Math Library (libm, -lm) SYNOPSIS #include <math.h> double cos(double x); float cosf(float x); long double cosl(long double x);
查MSDN是Windows程序员必须掌握的技能之一。 会用man命令是Linux程序员必须掌握的技能之一。
gfchen1989 2014-05-23
  • 打赏
  • 举报
回复
在编译后面加上-lm就ok了
我还在迷路 2014-05-23
  • 打赏
  • 举报
回复
既然解决了,为啥不结贴呢?
天一涯 2014-05-22
  • 打赏
  • 举报
回复
引用 10 楼 ljljlj 的回复:
[quote=引用 8 楼 yishuangshou1 的回复:] 如果我是直接make编译出现pow没被定义怎么加-lm啊?
当然是修改Makefile文件了.[/quote]请问具体怎么要修改呢?
ljhhh0123 2012-12-29
  • 打赏
  • 举报
回复
引用 8 楼 yishuangshou1 的回复:
如果我是直接make编译出现pow没被定义怎么加-lm啊?
当然是修改Makefile文件了.
zhcosin 2012-12-29
  • 打赏
  • 举报
回复
原来你连数学库都没链接呀,无语..... 要使用一个库所需要的工作: 1. 设定库的头文件包含路径. 2. 链接库。
yishuangshou1 2012-12-29
  • 打赏
  • 举报
回复
如果我是直接make编译出现pow没被定义怎么加-lm啊?
ice_wind1213 2012-04-03
  • 打赏
  • 举报
回复
gcc ./a.out -Wall -lm
就可以了 ~
qq120848369 2012-04-02
  • 打赏
  • 举报
回复
-lm
youngyang 2012-04-02
  • 打赏
  • 举报
回复
gcc *.c -lm -L/lib -L/usr/lib
指定函数库位置就好了
pengfoo 2012-04-02
  • 打赏
  • 举报
回复
不可能的呀 你贴出代码看看
确保包含头文件
#include <math.h>
netcrab 2012-04-02
  • 打赏
  • 举报
回复
OK了,加-lm编译就pass了。

谢谢各位大侠!!!
mymtom 2012-04-02
  • 打赏
  • 举报
回复
有问题,找男人。

man cos
NAME
cos, cosf, cosl -- cosine functions

LIBRARY
Math Library (libm, -lm)

SYNOPSIS
#include <math.h>

double
cos(double x);

float
cosf(float x);

long double
cosl(long double x);
shaozhongjishi 2012-04-02
  • 打赏
  • 举报
回复
同文件包含#include <math.h>,同时编译的时候应该是gcc *.c -lm ,最主要的是不要漏了—lm,因为它需要连接到指定的函数库里。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧