linux下用gcc编译使用了math库函数的程序出错的解决方法
2013-09-23 18:45
579 查看
linux下用gcc编译使用了math库函数的程序出错的解决方法
症状:在c程序中用到math库函数时,编译成obj后,再生成执行文件时,会遇到类似下面的错误:
/tmp/ccalvMPY.o: In function `main':
/tmp/ccalvMPY.o(.text+0x40): undefined reference to `pow'
原因:
因为linux中, pow 函数定义在 libm.so中,
不像一般DevC++或TC是放在C语言的/lib下,
所以, C无法在连接时, 找到相对应的库来连接.
解决方法:
编译器有一些比较通用的参数,其中的-l用来标识要链接的库信息:
-lm 表示需要链接数学库libm.a或libm.so或libm.sl
使用如下编译命令告诉程序数学库的位置即可
gcc filename.c -lm |
gcc filename.c -lm -L/lib -L/usr/lib
相关文章推荐
- linux下用gcc编译使用了math库函数的程序出错的解决方法
- linux下用gcc编译使用了math库函数的程序出错的解决方法
- Linux下使用gcc编译程序找不到库的分析和解决方法
- Linux下使用gcc编译程序找不到库的分析和解决方法
- linux下运行《UNIX环境高级编程》的第一个程序时源码编译出错的处理方法
- IntelliJ IDEA 使用javac编译程序出现“非法字符: \65533 \0”解决方法
- Linux平台下关于GCC编译及使用的方法
- windows 下使用navicat连接linux下面的mysql数据库出错解决方法
- 使用root权限运行自己所编译程序的解决方法
- 使用Win7连接虚拟机linux中的telnet出错解决方法
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库。
- Linux系统平台下关于GCC编译及使用的方法
- php程序无法使用localhost连接数据库解决方法(linux)
- GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法
- Cocos2d-x 3.2编译生成Android程序出错Error running command, return code: 2的解决方法
- Solaris编译Boost生成so文件出错:failed gcc.link.dll解决方法
- 编译Android驱动对应的C测试程序出错的解决方法以及正确流程
- Android 运行 C/C++程序 (使用 arm-linux-gcc 交叉编译环境)