我正在尝试在Debian Linux lenny下使用timerfd_create和timerfd_settime。该联机帮助页包含<sys/timerfd.h>。此文件无法在我的系统上找到。根据Debian Package Search,带有timerfd.h的唯一包是linux-headers- *包。

我已经安装了数据包linux-headers-2.6.26-1-amd64和linux-headers-2.6.26-1-common。我尝试包含/lib/modules/2.6.26-1-amd64/build/include/linux/timerfd.h文件(不包括timerfd_ceate)。但后来我得到以下链接器错误:
slave.c :(。text + 0x166):对timerfd_settime
的未定义引用 slave.c :(。text + 0x1e5):对<=>

的未定义引用

我的构建命令是gcc -o slave slave.c -L ../ libs -lcan -lutils -lrt

can和utils库是我自己的。不使用或定义其中一个timerfd_ *函数。我试过-lrt因为timer_create和timer_settimer需要它,即使它不在联机帮助页中。使用timer_create和timer_settimer的测试程序可以正常工作,并且符合预期。

我需要安装哪些数据包,需要链接到哪个库,以及使用timerfd_create和timerfd_settimer需要哪些包含文件。

由于 轧边机

有帮助吗?

解决方案

支持这些功能是linux和glibc中的新功能,你需要linux内核2.6.25或更好 glibc 2.8或更高。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top