Chinaunix
标题:
本人初学linux和c,请教gcc问题
[打印本页]
作者:
大洛沙鹰
时间:
2009-08-15 18:28
标题:
本人初学linux和c,请教gcc问题
具体情况如下:
[syliving@localhost linun]$ cat p126.c
#include <math.h>
main()
{
float x,y;
printf("The program takes x and y from stdin and displays x^y.\n" );
printf("Enter number x:" );
scanf("%f",&x);
printf("Enter number y:" );
scanf("%f",&y);
printf("x^y is%6.3f\n",power((double)x,(double)y));
}
[syliving@localhost linun]$ gcc p126.c -lm -o p126
p126.c: 在函数‘main’中:
p126.c:5: 警告:隐式声明与内建函数‘printf’不兼容
p126.c:7: 警告:隐式声明与内建函数‘scanf’不兼容
/tmp/cc01iATy.o: In function `main':
p126.c: (.text+0x67): undefined reference to `power'
collect2: ld 返回 1
请各位达人指教,这是什么问题,应该怎么解决!小弟在此谢谢大家了!(本人系统fedora11)
[
本帖最后由 大洛沙鹰 于 2009-8-15 18:35 编辑
]
作者:
Cyberman.Wu
时间:
2009-08-15 19:08
1. 在前面加上#include <stdio.h>消除告警。
2. 数学库应该只有一个pow而没有power吧?
作者:
大洛沙鹰
时间:
2009-08-15 20:15
谢谢二楼的,问题解决,
在前面加上了 #include <stdio.h>
#include <stdlib.h>
将power改成pow,通过
作者:
Godbach
时间:
2009-08-16 23:39
如果实际代码中确实是用到了math.h的函数,那么编译时还有加上-lm选项。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2