No puedo crear colas de mensajes

Imagen de Oreades
0 puntos

Buenas.

Estoy en Ubuntu 5.10 creo recordar y estoy haciendo un pequeño programa en c que usa las colas de mensajes que me proporciona el sistema operativo.

Resulta que tengo esto:

#include

// Colas de mensajes (nombres)
char *cola_lector_codificador = "lc";
char *cola_codificador_escritor = "ce";

// Colas de mensajes (identificadores)
mqd_t le;
mqd_t ce;

// Creacion de las colas de mensajes
le = mq_open(cola_lector_codificador, O_CREAT);

y al compilar con:

gcc -o codi codi.c

Me da el siguiente error:

"referencia a mq_open sin definir"

No lo entiendo. ¿Por que me dice eso? ¿me falta definirle alguna libreria mas?

Un saludo.

Imagen de Geo
+1
0
-1

Ese error indica que no estás enlazando con la biblioteca adecuada.

Desconozco el uso de mqueue, pero quizá sea así:

gcc codi.c -lmqueue -o codi

O también puedes probar:

gcc codi.c /usr/lib/libmqueue.a -o codi

Saludos,
JJ (Geo).

+1
0
-1

~~~~~~~~~~~~~~~~~~~
La imaginación es el límite.

Imagen de Oreades
+1
0
-1

Nada, esto es lo que me pone:

/usr/bin/ld: no se puede encontrar -lmqueue
collect2: ld devolvió el estado de salida 1

T.T

Las colas de mensajes sirven para comunicar procesos entre si.

+1
0
-1
Imagen de Anónimo
+1
0
-1

Para usar las colas de mensajes debes incluir la librería de tiempo real (real time) es decir, debes añadir a gcc el parámetro "-lrt".
Para más info "man mq_overview"

+1
0
-1