Bonjour, je travaille sur un projet en c avec le CMakeLists.txt suivant:
l'erreur se trouve dans mon fichier serveur dans lequel j'essaye d'ouvrir une file de messages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 cmake_minimum_required(VERSION 2.6) project(Serveur_client C) add_executable(client client.c) add_executable(serveur serveur.c)
Mon erreur:
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 #include <fcntl.h> #include <sys/stat.h> #include <mqueue.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { mqd_t mq; int priorite; const char name='s'; if((mq=mq_open(&name,O_RDWR | O_CREAT, 0777,NULL)) == (mqd_t) -1) { perror("mq_open"); exit(EXIT_FAILURE); } return EXIT_SUCCESS; }
Voilà, si vous pouvez m'aider je vous en serai très reconnaissant, J'ai regardé dans le man, je ne pense pas que cela vient de mq_open. Je précise que suis sur linux mint 17.3 et que mes autres projets arrivent à compiler sur cmake. Cependant ce n'est pas la première fois que je vois cette erreur surtout quand je réalisais mes propres library.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [ 50%] Built target client Scanning dependencies of target serveur [100%] Building C object CMakeFiles/serveur.dir/serveur.c.o Linking C executable serveur CMakeFiles/serveur.dir/serveur.c.o: dans la fonction « main »: serveur.c:(.text+0x28): référence indéfinie vers « mq_open » collect2: error: ld returned 1 exit status make[2]: *** [serveur] Erreur 1 make[1]: *** [CMakeFiles/serveur.dir/all] Erreur 2 make: *** [all] Erreur 2
Partager