Bonjour les kheys,
Je viens vers vous car j'ai un petit problème de compilation.
Je suis en train de finir un TP de Programmation. L'exercice porte sur la compilation de projet. Nous devions télécharger deux fichiers .c, deux fichiers .h et un fichier .a et les placer dans un même répertoire. Ces fichiers permettent de générer un signal sinusoïdal et de l'afficher dans une fenêtre.
Noms des fichiers : FIRvaleur.c,Vecteur.c,Vecteur.h,gnuplot i.h et libGnuPlot.a
Il est dit de compiler le projet avec la librairie GnuPlot et aussi de faire attention : le code utilise la librairie mathématique libm).
Le chemin pour accéder aux fichiers sources et headers est :
/home/maxmo/Desktop/Programmation/tp6_sans_lib
J'ai essayé de compiler avec la commande suivante :
gcc FIRvaleur.c Vecteur.c -L /home/maxmo/Desktop/Programmation/tp6_sans_lib -lGnuPlot -lm
mais il me sort ceci :
/usr/bin/ld: /home/maxmo/Desktop/Programmation/tp6_sans_lib/libGnuPlot.a(gnuplot_i.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Je ne comprends donc pas pourquoi cela ne marche pas.... quelqu'un peut-il m'éclairer ?
Merci d'avance !
Message édité le 04 novembre 2018 à 14:32:43 par geohott