2010-02-12 5 views
1

J'ai une collection de bibliothèques dynamiques que je veux lier dans/usr/local/lib, comment puis-je le faire en utilisant gcc sans définir mon LD_LIBRARY_PATH (j'ai entendu dire qu'il est mauvais de le faire Pour plusieurs raisons). J'ai passé une heure à regarder cela sur Internet, et en jouant avec les arguments de la ligne de commande, la seule façon de le faire était d'utiliser le -static -I/usr/local/lib/flag, mais cela convertit les bibliothèques dynamiques en bibliothèques statiques, et le compilateur émet des avertissements.Liaison aux bibliothèques dans gcc

Merci pour votre aide

Répondre

1

Ajouter /usr/local/lib à la configuration du chargeur dans /etc/ld.so.conf et exécuter ldconfig.

1

Vous pouvez définir les répertoires de recherche à l'échelle du système pour ldd (l'éditeur de liens dynamiques) dans /etc/ld.so.conf. Dans de nombreuses distributions (enfin, la mienne), il y a un répertoire /etc/ld.so.conf.d/, à partir duquel le /etc/ld.so.conf inclut tous les fichiers *.conf. Vous pouvez ajouter le répertoire directement au ld.so.conf ou ajouter un fichier .conf dans le répertoire.

Bien sûr, vous aurez besoin d'un accès root pour le faire. Oh, ouais: comme le dit Ignacio, lancez ldconfig après avoir changé ces fichiers de configuration.

Questions connexes