木匣子

Web/Game/Programming/Life etc.

在 GCC 中使用 math.h

最近在学习算法设计课程,需要写一些 c 程序。算法作业免不了要用到 math.h 库:

#include <math.h>

但是在 Linux GCC 环境下一编译就会出现类似如下的错误:

make all
Building target: SAT
Invoking: GCC C Linker
gcc  -o"SAT"  ./src/SAT.o   
./src/SAT.o: In function `main':
/home/mutoo/workspace/c/SAT/Debug/../src/SAT.c:38: undefined reference to `pow'

原来是因为 math库被放在了动态链接库中,如果程序中需要用到它,在链接时需要加上 -lm 命令:

$ gcc filename.c -lm -o  filename

其中 -l 是对库的引用;而 m 就是 math 库。 另外,对于 Eclipse CDT 的用户,可以进行如下配置

  • 选择菜单:Project > Properties…
  • 在对话框左边找到:C/C++ Build > Settings
  • 在对话框右边找到:Tool Settings > GCC Linker > Libraries
  • 单击 Libraries(-l) 边上的 [+] 号,增加一项
m

接下来就可以正常使用 math 库了。

键盘快捷键

全局

?
快捷键帮助
/或⌘K
搜索
gh
首页
ga
归档
gt
标签
gc
分类
gg
回到顶部
G
跳到底部
h
较新一篇 / 上一页
l
较旧一篇 / 下一页
Esc
关闭弹窗

文章列表首页、归档、标签、分类

j
选中下一篇
k
选中上一篇
o或Enter
打开选中的文章

阅读文章和其他页面

j
向下滚动
k
向上滚动
yy
复制本页链接
c
跳到留言