弱弱的问 sqrt函数到底在不在math.h里啊?

软件和网站开发以及相关技术探讨
回复
rApJtR
帖子: 221
注册时间: 2005-08-01 20:35
来自: Hong Kong
送出感谢: 0
接收感谢: 0
联系:

弱弱的问 sqrt函数到底在不在math.h里啊?

#1

帖子 rApJtR » 2005-11-02 1:37

竟然出现这种情况……
#include <math.h>
之后,程序里用到
int n;
double r;
r=sqrt(n);
编译时告诉我
haro/workspace/prime/prime.c:7: undefined reference to `sqrt'
用 gcc-4.0 gcc-3.4 都是这样
但是用 g++ 的话就可以了……
郁闷
这难道是bug?
zengsun
帖子: 334
注册时间: 2005-05-17 14:45
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 zengsun » 2005-11-02 11:04

:D 请在编译时使用-lm的参数:gcc -lm 1.c
现在还是在学java!
rApJtR
帖子: 221
注册时间: 2005-08-01 20:35
来自: Hong Kong
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 rApJtR » 2005-11-02 17:33

嗯 好了
那么 顺便告诉我 -lm 是什么意思吧
还有…… 为什么g++ 不用呢?
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 zhan » 2005-11-07 12:48

对于c/c++我一般是直接g++,简单了很多的,gcc好像是要指定什么库的,不是太懂,你可以看看gcc的手册。
kflyingfox
帖子: 10
注册时间: 2011-12-31 11:08
送出感谢: 0
接收感谢: 0

Re:

#5

帖子 kflyingfox » 2012-01-06 16:05

zengsun 写了::D 请在编译时使用-lm的参数:gcc -lm 1.c
???弱弱的问一句:调试前不是要用gcc -g 1.c -o 1这个语句编译吗?用了这个gcc -lm 1.c -o 1还能调试吗?(书上说-g选项是“在可执行程序中包含标准调试信息”)
头像
Lufecarg
帖子: 144
注册时间: 2011-03-07 23:14
送出感谢: 1 次
接收感谢: 0

Re:

#6

帖子 Lufecarg » 2012-01-08 3:06

rApJtR 写了:嗯 好了
那么 顺便告诉我 -lm 是什么意思吧
还有…… 为什么g++ 不用呢?
-lm -link math.h
链接库(我是这么理解的,高手请指正)
那个命令是把代码编译成可执行文件
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
送出感谢: 1 次
接收感谢: 89 次
联系:

Re: Re:

#7

帖子 cuihao » 2012-01-08 8:34

kflyingfox 写了:???弱弱的问一句:调试前不是要用gcc -g 1.c -o 1这个语句编译吗?用了这个gcc -lm 1.c -o 1还能调试吗?(书上说-g选项是“在可执行程序中包含标准调试信息”)
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
回复

回到 “软件/网站开发”