Pergunta

Eu estou tentando usar timerfd_create e timerfd_settime sob Debian Linux lenny. A página de manual diz para incluir <sys/timerfd.h>. Este arquivo não pode ser localizado no meu sistema. De acordo com o Debian Package Search os únicos pacotes com um timerfd.h são os * pacotes linux-headers-.

Eu instalei os pacotes linux-headers-2.6.26-1-amd64 e linux-headers-2.6.26-1-comuns. Tentei incluindo o arquivo /lib/modules/2.6.26-1-amd64/build/include/linux/timerfd.h (e não incluindo <sys/timerfd.h>). Mas então eu recebo o seguinte erro vinculador:
. Slave.c :( texto + 0x166): undefined reference to timerfd_ceate
. Slave.c :( texto + 0x1e5): undefined reference to timerfd_settime

Meu comando de compilação foi gcc -o escravo slave.c -L ../ libs -lcan -lutils -lrt

A lata e utilitários bibliotecas são minhas. Non deles usam ou definir um dos timerfd_ * funções. Tentei -lrt porque timer_create e timer_settimer necessidade dele, mesmo se não for na manpage. Um Programa de teste com timer_create e obras timer_settimer sem problemas e, como esperado.

O que os pacotes que eu preciso para instalar, que biblioteca que eu preciso para vincular e que incluem arquivos que eu preciso para usar timerfd_create e timerfd_settimer.

Graças Edger

Foi útil?

Solução

O suporte para essas funções é novo no Linux e glibc, você precisa Linux Kernel 2.6.25 ou melhor e glibc 2.8 ou superior.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top