Frage

Ich versuche timerfd_create und timerfd_settime unter Debian Linux lenny zu verwenden. Die manpage sagt <sys/timerfd.h> aufzunehmen. Diese Datei kann nicht auf meinem System befindet. Nach der Debian-Paketsuche der einzigen Pakete mit einem timerfd.h sind die Linux-Kopfzeilen können * Pakete.

Ich habe die Pakete linux-headers-2.6.26-1-amd64 und linux-headers-2.6.26-1-common installiert. Ich versuchte, die /lib/modules/2.6.26-1-amd64/build/include/linux/timerfd.h Datei einschließlich (und ohne <sys/timerfd.h>). Aber dann habe ich den folgenden Linkfehler:
. Slave.c :( Text + 0x166): undefined reference
auf timerfd_ceate . Slave.c :( Text + 0x1e5): undefined Verweis auf timerfd_settime

Mein Build Befehl war gcc -o Slave slave.c -L ../ Libs -lcan -lutils -lrt

Die Dose und utils Bibliotheken sind meine eigenen. Nicht von ihnen verwenden oder eine der timerfd_ * Funktionen definieren. Ich habe versucht, -lrt weil timer_create und timer_settimer es brauchen, auch wenn sie nicht in der Manpage. Ein Testprogramm mit timer_create und timer_settimer funktioniert ohne Probleme und wie erwartet.

Welche Pakete muss ich installieren, welche Bibliothek muss ich verknüpfen, und was Include-Dateien benötige ich timerfd_create und timerfd_settimer verwenden.

Danke Edger

War es hilfreich?

Lösung

Die Unterstützung für diese Funktionen ist neu in Linux und glibc, müssen Sie Linux-Kernel 2.6.25 oder besser und glibc 2.8 oder höher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top