c - 对 c 内置函数 'pow' 的 undefined reference

标签 c math.h

<分区>

Possible Duplicate:
pow() isn’t defined

void octal2decimal(char *octal, char *decimal) {
int oct = atoi(octal);
int dec = 0;
int p = 0;

while (oct!=0) {

    dec = dec + (oct%10) * pow(8,p++); //since oct is base 8 
    oct/=10;
}
*decimal = (char)dec;
*/
}

对于上面的以下代码我得到这个错误我不知道为什么我包含 math.h 但我仍然得到这个错误

/tmp/cck07bLe.o: 在函数 'octal2decimal':
data-converter.c:(.text+0x35f):对“pow”的 undefined reference
collect2:ld 返回 1 个退出状态

这是什么意思?我该如何解决?

最佳答案

数学库不是默认包含的标准 C 库的一部分。 与数学库的链接:

gcc file.c -o file -lm

关于c - 对 c 内置函数 'pow' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13053260/

相关文章:

c - 来自 math.h 的函数日志返回错误

c - 寻找 math.h 函数的纯 c 版本(无协处理器支持)

c - C 中的 Pow() 函数

c - scanf 不等待输入返回 0

c - dbus c : what bindings (gdbus? ) 和客户端/服务器简单示例

c - 将 X509 证书保存到文件

c - 如何将字符串 block 转换为字符串数组

c++ - 使用 cmath 时禁用 math.h 废话

c - 执行 printf 时为 nan

c - 取消索引 Collada