以下是我的程序代码
#include<stdio.h>
#include<math.h>
void main()
{
double a[10],b[10]; /*½ÚµãÊýΪ10*/
int i,j,n;
double h=45,x=110,y=0.01,m,m1,t; /*xΪµ¼ÈÈϵÊý£¬yΪÀߺñ*/
m1=h*2/x/y;
m=sqrt(m1);
for(i=0;i<10;i++)
{
a=b=1;
}
for(i=1,j=1;n<9;i++,j++)
{
if(i==1) n=0;
if(i==9) b[j]=a[j-1];
else b[j]=(1/(2+m*m*0.01*0.01))*(a[i+1]+b[j-1]);
if(fabs((a-b[j])/a)<=0.00000001) n++;
a=b[j];
if(i==9) i=1,j=1;
}
for(i=0;i<=9;i++)
用gcc **.c -o ××.exe出现如下错误
/tmp/ccBklkVW.o: In function `main':
c.c:(.text+0x61): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
不知道是什么原因?
gcc编程所遇问题
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 2148
- 注册时间: 2012-12-16 15:43
- 系统: debian
-
- 帖子: 1555
- 注册时间: 2012-03-31 3:29
-
- 帖子: 2148
- 注册时间: 2012-12-16 15:43
- 系统: debian
Re: gcc编程所遇问题
这是为什么?是因为要用其它的库文件吗?taohunter 写了:编译时命令行加上“-lm”。。。
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: gcc编程所遇问题
因为#include<math.h>
-
- 帖子: 291
- 注册时间: 2011-03-10 7:43
Re: gcc编程所遇问题
因为gcc默认不链接除libc以外的库,而sqrt()在libm里被定义,所以需要链接。
http://stackoverflow.com/questions/4606 ... th-library
http://stackoverflow.com/questions/4606 ... th-library