未定义对log10函数的引用。

13

我正在使用 Eclipse Kepler 进行编程,已经添加了 math.h 头文件。但是出现了错误:

'undefined reference to log10'。

同时,类型 uint8_tunit32_t 也无法解析。我已经确认包含了 stdint.hinttypes.h 头文件,但仍然没有成功。请问有人能够帮忙吗?


是的,这是一个打字错误@SouravGhosh。 - Aanchal Sahdev
@SouravGhosh:我知道如何使用shell编程在Ubuntu中进行链接,但我还是很新手。你能给予更多指导吗? - Aanchal Sahdev
1
use gcc something.c -lm - Sourav Ghosh
1个回答

17
因为头文件只提供了函数的前向声明,实际的函数定义在("math")库中。您需要使用-lm链接数学库。
参考:log10的man页面 此外,据我所知,uint<N>_t存在于<stdint.h>中。请检查头文件本身的存在和/或代码中任何拼写错误(例如您示例中的unit32_t)。

1
“undefined”(未定义)听起来更像是编译器错误,而不是链接器错误? - Martin James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接