Comment gcc sur Solaris trouve-t-il ses bibliothèques ?
Question
J'essaie d'installer 'quadrupel', une bibliothèque qui s'appuie sur ffmpeg sur Solaris x86.
J'ai réussi à construire ffmpeg et ses bibliothèques dans /opt/gnu/lib et les inclusions sont dans /opt/gnu/include mais lorsque j'essaie de construire quadrupel, il ne trouve pas les en-têtes ffmpeg.
Quels indicateurs/configuration sont requis pour inclure ces deux répertoires dans les chemins de recherche appropriés pour les bibliothèques et les inclusions ?Je ne suis pas vraiment un hacker Makefile.
La solution
Vous pouvez remplacer le chemin en définissant la variable d'environnement LD_LIBRARY_PATH.Cependant, je suggérerais également de modifier les chemins du système afin que vous n'ayez pas à modifier le chemin de la bibliothèque pour tous les utilisateurs.Cela peut être fait en utilisant crel.
crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib
Pour les inclusions, ajoutez simplement -I/opt/gnu/include à votre variable CFLAGS.
Autres conseils
Je pense que vous devez ajouter ce qui suit au Makefile :
CFLAGS += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib
L'argument -I indique à gcc où trouver les fichiers d'inclusion.L'indicateur -L indique à ld où trouver les bibliothèques lors de la liaison.L'indicateur -R écrit /opt/gnu/lib dans le chemin de recherche de bibliothèque dans le binaire quadrupel, afin qu'il puisse trouver ses bibliothèques au démarrage.