Je veux ajouter ma propre bibliothèque à utiliser pour la compilation en c, mais je ne sais pas vraiment où ubuntu la stocke.
10.10
command-line
compiling
c
david25
la source
la source
Réponses:
Sur la base de vos commentaires à votre question, je pense que ce que vous demandez vraiment est "Comment installer une bibliothèque personnalisée que j'ai écrite et où dois-je la mettre?"
En général, les éléments construits localement pour d'autres sur la machine à l'utilisateur sont placés dans l'arborescence / usr / local. Le fichier d'en-tête doit aller dans / usr / local / include. La bibliothèque compilée doit aller dans / usr / local / lib. Le fichier .c ne fait pas partie de la bibliothèque, il fait partie de la source et n'est pas quelque chose normalement non installé pour l'usage de l'utilisateur final. Vous aurez besoin d'un accès root pour placer les fichiers dans l'un de ces emplacements.
Pour construire la bibliothèque, vous devrez d'abord construire si vous voulez une bibliothèque statique ou dynamique (partagée). Plus d'informations sur la création d'une bibliothèque partagée peuvent être trouvées dans la section 3.4, Création d'une bibliothèque partagée à http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html . (Ils ont également des recommandations sur l'endroit où mettre les choses - la plupart des développeurs auront une opinion ou trois :-))
la source
Selon la bibliothèque, ubuntu stocke ses bibliothèques principalement dans trois endroits
Ce qui suit provient de la norme de hiérarchie du système de fichiers
/ lib
/ usr / lib
/ usr / local / lib contient des bibliothèques locales c'est-à-dire spécifiques à ce système mais je ne trouve pas de références à / usr / local / lib dans FHS, il ne contient que des explications pour / usr / local.
la source
Ubuntu suit Filesystem Hierarchy Standard ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), les bibliothèques d'applications régulières doivent être stockées sous / usr / lib.
Veuillez noter que développer / gérer des bibliothèques n'est pas un sujet banal, vous devriez lire une documentation plus détaillée, voici un joli tutoriel: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
la source
Vous devez indiquer au compilateur où il peut trouver votre bibliothèque. Supposons que le chemin de votre bibliothèque soit "/path/to/lib/libfoo.a", vous pouvez compiler et lier votre programme "hello.c" comme ceci:
Ce n'est pas spécifique à Ubuntu, en fait tous les compilateurs C que je connais prennent en charge ces drapeaux.
la source
Dans Ubuntu, ils se trouvent dans
/usr/include
.la source
/usr/include
. Les binaires réels d'une bibliothèque n'y sont pas stockés. Les en-têtes peuvent être considérés comme faisant partie d'une bibliothèque, mais ils doivent être installés séparément, et ils sont utilisés pour compiler des programmes qui utilisent une bibliothèque. Une fois qu'un programme qui utilise une bibliothèque a été compilé, il n'a plus besoin ni n'utilise les fichiers d'en-tête.