Bonjour,
Je suis en train de développer un programme en C qui doit utiliser une librairie écrite en C (pas de problème de compatibilité C/C++ ^^). Dans mon programme, j'utilise les fonctions :
xc_interface_open(xentoollog_logger*, xentoollog_logger*, unsigned int);
xc_map_foreign_pages(xc_interface_core*, unsigned int, int, unsigned long const*, int);
xc_interface_close(xc_interface_core*);
Ces fonctions se trouvent dans la librairie libxenctrl.so :
0000000000016ed6 T xc_interface_close
0000000000016de9 T xc_interface_open
000000000001e656 T xc_map_foreign_pages
Lorsque je compile mon appli, je passe la librairie (j'ai mis le chemin absolu pour être certain de la librairie utilisée) :
gcc gntring3_read_async.c /home/fremals/GVirtus9/modules/gntring/libgntring4.o /usr/local/lib/libxenctrl.so -o ring3_read_async -lm -I /home/fremals/GVirtus9/modules/
Mais lors de la compilation, ld ne trouve pas les fonctions citées :
/home/fremals/GVirtus9/modules/gntring/libgntring4.o: dans la fonction « connect_ring »:
libgntring4.c:(.text+0x328): référence indéfinie vers « xc_interface_open(xentoollog_logger*, xentoollog_logger*, unsigned int) »
libgntring4.c:(.text+0x348): référence indéfinie vers « xc_map_foreign_pages(xc_interface_core*, unsigned int, int, unsigned long const*, int) »
libgntring4.c:(.text+0x365): référence indéfinie vers « xc_interface_close(xc_interface_core*) »
collect2: error: ld returned 1 exit status
Est-ce que quelqu'un a une idée du problème ?
Merci !!
Partager