我正在尝试在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文件(不包括<sys/timerfd.h>
)。但后来我得到以下链接器错误:
slave.c :(。text + 0x166):对timerfd_ceate
的未定义引用
slave.c :(。text + 0x1e5):对timerfd_settime
我的构建命令是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需要哪些包含文件。
由于 轧边机
答案 0 :(得分:3)
支持这些功能是linux和glibc中的新功能,你需要linux内核2.6.25或更好和 glibc 2.8或更高。