[Erreur CMAKE] référence indéfinie - collect2: error ld returned 1 exit status
Bonjour, je travaille sur un projet en c avec le CMakeLists.txt suivant:
Code:
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) |
l'erreur se trouve dans mon fichier serveur dans lequel j'essaye d'ouvrir une file de messages.
Code:
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;
} |
Mon erreur:
Code:
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 |
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.