【发布时间】:2021-09-22 08:41:16
【问题描述】:
我在 C 中使用 pow 函数,并且也包含了 math.h 库
以下是我得到的错误:
/usr/bin/ld: /tmp/ccUkOL31.o: 在函数'main'中: a1B.c:(.text+0xf3): 未定义对“pow”collect2 的引用:错误:ld 返回 1 退出 状态
虽然我在 StackOverflow 上读到需要链接。但这很奇怪。当我们使用gcc 编译时,有什么方法可以避免这个额外的步骤。 g++ 似乎是自动完成的。
【问题讨论】:
-
我想指出,不正确使用行话通常表明缺乏理解力。您没有包含
math.h库,而是包含了math.h头文件。头文件描述了数学库的 API,它可能位于类似/lib/libm.so.6的位置。该库需要链接,这并不奇怪。假设一切都在 libc 中(自动链接)可能更奇怪。如果您的问题是手动执行命令,那么不要。使用 make 或 cmake。输入make始终是 1 步。
标签: c gcc undefined-reference pow