2008-11-03 8 views
14

compilación de un programa en Linux que llama a las funciones de temporizador POSIX (por ejemplo: timer_create, timer_settime) devuelve errores tales como:Lo que necesitan las bibliotecas para vincularse por timer_create, timer_settime y otras funciones relacionadas con temporizador

 
In function `foo': 
timer.c:(.text+0xbb): undefined reference to `timer_create' 
timer.c:(.text+0x187): undefined reference to `timer_settime' 
collect2: ld returned 1 exit status 

qué biblioteca hacer Necesito un enlace?

Respuesta

3

Esto debe documentarse en la página de manual. Dado que no es agregar -lrt.

22

Compilarlo con la opción -lrt. Será compilado.

3

El -lrt obliga al enlace, pero usted tiene que tener la biblioteca en tiempo real en su lugar antes de poder enlazar con él. La mayoría de las veces se incluye automáticamente, pero si no es así, deberá instalar una biblioteca en tiempo real mediante apt-get. Entonces usted será capaz de enlazar con él en la siguiente (o similar) Ubicación:

/lib/i386-linux-gnu/librt.so.1

Si está utilizando bloques de código y por alguna razón -lrt no lo incluye, puede agregar los anteriores ruta de la biblioteca & nombre de archivo utilizando la siguiente secuencia de menú:

Project->Build Options->Linker Settings->Link Libraries->Add

2

se puede tratar gcc -o mytemer mytimer.c -lrt funciona para mí de esa manera, pero no en este orden gcc * mytimer.c LRT -o mytimer

Cuestiones relacionadas