Ligne d'édition de liens
Bonjour,
je ne sais pas comment est construit un makefile, mais je voudrais savoir comment ajouter quelque chose à sa ligne d'édition de liens. Quelqu'un peut-il m'aider ?
je ne sais pas comment est construit un makefile, mais je voudrais savoir comment ajouter quelque chose à sa ligne d'édition de liens. Quelqu'un peut-il m'aider ?
Configuration: cygwin Firefox 2.0.0.12
3 réponses
-
Sans ledit makefile c'est impossible de réponse. Il faudrait nous dire ce que tu cherches à rajouter. Souvent il suffit de modifier le bon flag dans le fichier makefile. Note qu'il est également possible de modifier ces flags lorsque tu utilises la commande make. Par exemple si les lignes de compilation dans le makefile utilises CXXFLAGS tu peux taper :
make CXXFLAGS="-g -W -Wall"
Bonne chance-
En fait, j'ai téléchargé un petit programme et je cherche à le compiler, je suis donc toutes les instructions données dans le README mais lorsque je lance la compilation, au bout d'un moment, arrive le message suivant :
error : cannot find -lX11
On m'a conseillé la chose suivante :
"ajoute -L/usr/X11R6/lib à ta ligne d'édition de liens et ça devrait marcher."
D'ou la question, comment fait-on cela ?
-
-
Il faut juste installer les paquets de compilation X11.
libx11-dev - X11 client-side library (development headers)
Ensuite il faut chercher ou se trouve libX11.so :(mando@aldur) (~) $ locate X11.so /usr/lib/libX11.so /usr/lib/libX11.so.6 /usr/lib/libX11.so.6.2.0
Par exemple chez moi il est dans /usr/lib (repertoire standard) comme tu peux le voir donc je n'ai pas besoin de rajouter un -L/usr/lib il est implicite. Si pour toi il est dans un autre répertoire il faut effectivement l'ajouter ou enrichir ta variable d'environnement LD_LIBRARY_PATH. En général ça consiste juste à enrichir la variable LD_FLAGS (le plus simple étant de le faire directement dans le Makefile, ou sinon tu le passes en paramètre de la commande make).
A noter que c'est le même principe pour les headers, par défaut le compilateur chercher /usr/include, sinon il faut lui préciser où chercher avec l'option -I ou -isystem. Comme ceci est commun à chaque compilation ce sera dans les CCFLAGS (ou CXXFLAGS) qu'il faudra l'ajouter. -
Non c'est un paquet que tu dois installer. Cf ton gestionnaire de paquet cygwin.
Bonne chance