通过将-lrt传递给gcc修复的`timer_getoverrun'的未定义引用。但为什么?

时间:2011-06-01 09:44:00

标签: linux gcc timer linker-errors

我正在尝试一些计时器功能,最终导致上述链接器错误。网上有人建议将-lrt传递给gcc并且它有效!什么是'-lrt'以及它如何帮助克服这个错误?

我查看了gcc --help,但找不到这些选项,gcc的手册页(太大了)也很有见解。

3 个答案:

答案 0 :(得分:2)

它将rt库添加到链接器(参见librt),其中包括timer_getoverrun

答案 1 :(得分:1)

它不在gcc手册页中,因为它不是一个选项。它是一个库(-l代表library,这就是将libs传递给链接器的方式)

rt是一个时间库。 timer_getoverrun就是在那里定义的。

答案 2 :(得分:1)

timer_getoverrun()函数在librt.so中实现。从timer_getoverrun(2)手册页:

SYNOPSIS
   ...

   Link with -lrt.