2008-10-25 40 views
2

我想在Debian Linux lenny下使用timerfd_create和timerfd_settime。該手冊中說包括<sys/timerfd.h>。該文件不能位於我的系統上。根據Debian軟件包搜索,帶有timerfd.h的唯一軟件包是linux-headers- *包。timerfd_create與Debian linux測試amd64

我已經安裝了數據包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 :(文字+ 0x166):未定義參考timerfd_ceate
slave.c :(文字+ 0x1e5):未定義參考timerfd_settime

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

can和utils庫是我自己的。它們中沒有一個使用或定義timerfd_ *函數之一。我試過了,因爲timer_create和timer_settimer需要它,即使它不在聯機幫助頁中。帶有timer_create和timer_settimer的測試程序可以毫無問題地按預期工作。

我需要安裝哪些數據包,需要鏈接哪些庫以及使用timerfd_create和timerfd_settimer時需要什麼包含文件。

感謝 磨邊

回答

3

支持這些功能是在Linux和glibc新的,你需要Linux內核2.6.25或更好的glibc 2.8或更高版本。

+0

就像一個附註,在谷歌上遇到這個,完全解決了我的問題,謝謝! – icco 2008-11-06 21:10:54