E5_1.c:(.text+0x67):对‘sqrt’未定义的引用 collect2: error: ld returned 1 exit status
2015-10-08 22:54
267 查看
晚上继续学习linux以及回顾C的知识.
编了个简单的计算三角形面积的函数.
#include<stdio.h>
#include<math.h>
double area(double x,double y,double z)
{
double s,a;
s=(x+y+z)/2;
a=sqrt(s*(s-x)*(s-y)*(s-z));
return a;
}
int main()
{
double a=area(3,4,5);
printf("%.2f",a);
}
于是就出现了标题的错误,我很不解,于是到网上寻求帮助.
发现这是由于math不是Linux里默认的函数库,需要指定函数库位置.
参照http://blog.chinaunix.net/uid-20620288-id-3217203.html
输入
gcc E5_1.c -lm
或
gcc E5_1.c -lm -L/lib -L/usr/lib
遂编译成功.
PS:
顺带查了查Linux C函数库
参照http://blog.sina.com.cn/s/blog_74a7e56e0102v3cx.html
编了个简单的计算三角形面积的函数.
#include<stdio.h>
#include<math.h>
double area(double x,double y,double z)
{
double s,a;
s=(x+y+z)/2;
a=sqrt(s*(s-x)*(s-y)*(s-z));
return a;
}
int main()
{
double a=area(3,4,5);
printf("%.2f",a);
}
于是就出现了标题的错误,我很不解,于是到网上寻求帮助.
发现这是由于math不是Linux里默认的函数库,需要指定函数库位置.
参照http://blog.chinaunix.net/uid-20620288-id-3217203.html
输入
gcc E5_1.c -lm
或
gcc E5_1.c -lm -L/lib -L/usr/lib
遂编译成功.
PS:
顺带查了查Linux C函数库
参照http://blog.sina.com.cn/s/blog_74a7e56e0102v3cx.html
相关文章推荐
- 正则表达式学习笔记
- MySQL读写分离-amoeba
- ActiveMQ 即时通讯服务 浅析
- POJ 题目2114 Boatherds(树的点分治)
- VC++压缩解压zip文件(支持密码)
- linux自动备份
- Android-ListView-Adapter view无复用
- ACM学习历程—HDU1695 GCD(容斥原理 || 莫比乌斯)
- objective_c
- java内部类 和外嵌类
- SQL Server 的几个故障
- 数据结构开场白
- BestCoder Round #52 (div.2)HDU5417 Victor and Machine
- ubuntu设置ssh登陆
- 2016小米校招笔试题
- 基础总结篇之五:BroadcastReceiver应用详解
- CentOS 7 最小安装 功能扩展
- 多数投票算法
- 霍夫变换检测直线
- [CareerCup] 10.5 Web Crawler 网络爬虫