当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于头文件的问题~~~~
帖子发表于 : 2010-11-19 13:44 
头像

注册: 2009-10-11 14:43
帖子: 105
送出感谢: 0 次
接收感谢: 0 次
链接不过去,
/tmp/ccZQDD1r.o: In function `main':
ccx3.c:(.text+0x3c): undefined reference to `sqrt'
ccx3.c:(.text+0x75): undefined reference to `sqrt'
collect2: ld returned 1 exit status
这个是给出来的信息。
源文件里已经有#include"math.h"


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-19 16:34 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
为什么不是 <math.h> ?

gcc 需要加选项 -lm


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-20 19:53 
头像

注册: 2009-10-11 14:43
帖子: 105
送出感谢: 0 次
接收感谢: 0 次
wzssyqa 写道:
为什么不是 <math.h> ?

gcc 需要加选项 -lm



管用,麻烦说说这个选项是什么意思阿?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-21 5:51 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
链接数学库


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-24 1:29 
头像

注册: 2010-05-11 21:50
帖子: 990
送出感谢: 1
接收感谢: 2
我也是这个问题,会出现错误,但是

#include <stdio.h>
#include <math.h>
main()
{
int a;
scanf("%d",&a);
printf("%f",sqrt(a));
}
如果sqrt()里是a的话,就会报错,但是如果是数字的话,就一点问题都没有。这是为什么??




#include <stdio.h>
#include <math.h>
main()
{

printf("%f",sqrt(3));
}
问几个问题:
1.怎样查看编译器里已经链接的库函数?
2.如何在默认的库函数中一劳永逸添加其他库函数?我现在用的还是geany。。。


_________________
有事多折腾。。。没事瞎折腾。。。
本本
acer 4745g i5-430 4G ATI5650 1G 独显 500G硬盘
台台
赛扬coppermine 1.0GHz 160MB内存 集成显声卡 网卡一块。
archlinux+xfce无压力


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-24 13:34 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
ls,sqrt接受double,不接受int。

一般IDE都能设置链接器选项


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-24 15:20 
头像

注册: 2010-05-11 21:50
帖子: 990
送出感谢: 1
接收感谢: 2
#include <stdio.h>
#include <math.h>
main()
{
double a;
scanf("%lf",&a);
printf("%lf",sqrt(a));
}

这样也不对啊,编译成功结束,但是生成的时候又会出现这样的消息

gcc -Wall -o "q" "q.c" (在目录 /home/dai 中)
q.c:4: warning: return type defaults to ‘int’
q.c: In function ‘main’:
q.c:8: warning: control reaches end of non-void function
/tmp/cckV4Dnm.o: In function `main':
q.c:(.text+0x36): undefined reference to `sqrt'
collect2: ld returned 1 exit status
编译失败。


_________________
有事多折腾。。。没事瞎折腾。。。
本本
acer 4745g i5-430 4G ATI5650 1G 独显 500G硬盘
台台
赛扬coppermine 1.0GHz 160MB内存 集成显声卡 网卡一块。
archlinux+xfce无压力


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-24 19:57 
头像

注册: 2010-05-11 21:50
帖子: 990
送出感谢: 1
接收感谢: 2
最后还是在生成选项里加上了-lm才行


_________________
有事多折腾。。。没事瞎折腾。。。
本本
acer 4745g i5-430 4G ATI5650 1G 独显 500G硬盘
台台
赛扬coppermine 1.0GHz 160MB内存 集成显声卡 网卡一块。
archlinux+xfce无压力


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 关于头文件的问题~~~~
帖子发表于 : 2010-11-29 20:28 

注册: 2009-07-03 18:52
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
见特但 写道:
wzssyqa 写道:
为什么不是 <math.h> ?

gcc 需要加选项 -lm



管用,麻烦说说这个选项是什么意思阿?


-lname 系统在存储标准库程序的目录(通常是/usr/lib)中搜索libname.a。因此数学库就是/usr/lib/libm.a


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译