Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Profil pro Djil KECHAD
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Djil KECHAD

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 8
    Points : 4
    Points
    4

    Par défaut File de message posix

    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 :
    Code :
    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.
    Voici le code qui va avec au cas où cela serait utile :
    Code :
    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;
    }
    Je suis sur une machine Linux distribution Ubuntu 12.10
    Programmation effectué sur Geany et compilé par geany.

    Merci de votre aide ^^

  2. #2
    Membre Expert
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2010
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2010
    Messages : 565
    Points : 1 143
    Points
    1 143

    Par défaut

    T'as oublie de compiler avec -lrt. Pour plus d'info lis le man.

  3. #3
    Invité de passage
    Profil pro Djil KECHAD
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Djil KECHAD

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 8
    Points : 4
    Points
    4

    Par défaut

    Merci effectivement c’était bien ça

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •