2008-09-06 34 views
0

J'essaie d'installer 'quadrupel', une bibliothèque qui repose sur ffmpeg sous Solaris x86.Comment gcc sur Solaris trouve-t-il ses bibliothèques?

J'ai réussi à construire ffmpeg et ses bibliothèques vivent dans/opt/gnu/lib et les inclusions sont dans/opt/gnu/include mais quand je tente de construire quadruple, il ne trouve pas les en-têtes ffmpeg.

Quels drapeaux/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.

Répondre

1

Vous pouvez redéfinir le chemin en définissant la variable d'environnement LD_LIBRARY_PATH. Cependant, je suggèrerais de changer aussi les chemins du système afin que vous n'ayez pas à changer 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.

+1

Cela devrait être crle (configurer l'environnement de liaison à l'exécution) –

4

Je crois 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 dire gcc où trouver les fichiers à inclure. 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 la bibliothèque dans le binaire quadruple, afin qu'il puisse trouver ses bibliothèques au démarrage.