Bonjour,
Je m'exerce actuellement a utiliser les file de message avec la norme posix mais je crois que j'ai un soucis avec mes librairies, en effet lorsque je compile, le compilateur me renvoi une erreur du type :
Voici le code qui va avec au cas où cela serait utile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 gcc -Wall -o "emetteur-01" "emetteur-01.c" (dans le dossier : /home/djil/Cours/Projet/01-Efficacite message queues Posix) /tmp/cc58qbBX.o: dans la fonction « main »: emetteur-01.c:(.text+0x5d): référence indéfinie vers « mq_open » emetteur-01.c:(.text+0xbc): référence indéfinie vers « mq_send » collect2: erreur: ld a retourné 1 code d'état d'exécution Compilation échouée.
Je suis sur une machine Linux distribution Ubuntu 12.10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <fcntl.h> #include <mqueue.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/time.h> int main(int argc,char * argv[]) { mqd_t mq; struct timeval heure; if (argc != 2) { fprintf(stderr, "usage: %s nom_file_message\n", argv[0]); exit(EXIT_FAILURE); } mq = mq_open(argv[1], O_WRONLY | O_CREAT, 0600, NULL); if (mq == (mqd_t) -1) { perror(argv[1]); exit(EXIT_FAILURE); } while (1) { gettimeofday(& heure, NULL); mq_send(mq, (char *) & heure, sizeof(heure), 1); sleep(1); } return EXIT_SUCCESS; }
Programmation effectué sur Geany et compilé par geany.
Merci de votre aide ^^
Partager