需要为timer_create,timer_settime和其他与计时器相关的函数链接哪些库

时间:2008-11-03 20:14:18

标签: linux timer posix

在Linux上编译调用POSIX定时器函数的程序(例如:timer_create,timer_settime)会返回错误,例如:

In function `foo':
timer.c:(.text+0xbb): undefined reference to `timer_create'
timer.c:(.text+0x187): undefined reference to `timer_settime'
collect2: ld returned 1 exit status

我需要链接哪个库?

5 个答案:

答案 0 :(得分:24)

使用-lrt选项进行编译。它将被编译。

答案 1 :(得分:4)

-lrt强制链接,但您必须拥有实时库,然后才能链接到它。大部分时间它都是自动包含的,但如果没有,你需要使用apt-get安装一个实时库。然后,您将能够在以下(或类似)位置链接到它:

/lib/i386-linux-gnu/librt.so.1

如果您正在使用代码块并且由于某种原因-lrt不包含它,您可以添加上面的库路径&使用以下菜单序列的文件名:

Project->Build Options->Linker Settings->Link Libraries->Add

答案 2 :(得分:3)

这应该在手册页中记录。鉴于它没有添加-lrt

答案 3 :(得分:3)

你可以试试gcc -o mytemer mytimer.c -lrt 它对我有用,但不按此顺序 gcc * lrt mytimer.c -o mytimer

答案 4 :(得分:2)

请尝试以下方法:

gcc -lrt