À l'aide de “ar” pour les combiner .o et .un des fichiers (Linux)
Je suis en train de créer un seul statique de la bibliothèque, qui contient les fichiers d'objets existants et les bibliothèques statiques qui ont tous été compilé plus tôt dans le processus de construction. Est-il un moyen facile de faire cela à l'aide de "ar", ou ai-je besoin de décompresser (ar x library_name) chaque bibliothèque et ajouter ses fichiers de l'objet de ma photothèque unifiée?
Possible en double stackoverflow.com/questions/386579/...
Non, pas un doublon. Cette question traite de la tentative de rétablir le lien avec les bibliothèques partagées, alors que c'est une question qui concerne les bibliothèques statiques et les objets qui n'ont pas encore été liés.
Si vous contrôlez le processus de construction, ce modèle semble comme une solution propre: stackoverflow.com/a/4318960/78342
Vous avez besoin de traiter le cas où deux .un fichiers contiennent tous les deux le fichier foo.o. Avec deux différents .un fichiers, c'est très bien - le nom de l' .o n'a pas d'importance, seul le contenu de la matière. Si vous aveuglément fusionner ces deux .un fichiers, cependant, vous vous retrouverez avec un seul foo.o.
Non, pas un doublon. Cette question traite de la tentative de rétablir le lien avec les bibliothèques partagées, alors que c'est une question qui concerne les bibliothèques statiques et les objets qui n'ont pas encore été liés.
Si vous contrôlez le processus de construction, ce modèle semble comme une solution propre: stackoverflow.com/a/4318960/78342
Vous avez besoin de traiter le cas où deux .un fichiers contiennent tous les deux le fichier foo.o. Avec deux différents .un fichiers, c'est très bien - le nom de l' .o n'a pas d'importance, seul le contenu de la matière. Si vous aveuglément fusionner ces deux .un fichiers, cependant, vous vous retrouverez avec un seul foo.o.
OriginalL'auteur psublue | 2009-06-04
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez créer une bibliothèque partagée, vous pouvez utiliser ceci:
Vous pouvez utiliser le --ensemble d'archives drapeau de ld:
Pour les bibliothèques statiques, vous pouvez avoir à extraire les objets en premier.
J'ai trouvé le suivant pour ar
Peut-être vous pouvez utiliser une telle mince archive.
+1 par une option intéressante (--ensemble d'archives) qui a juste sauvé ma vie !
OriginalL'auteur lothar
D'archivage des archives est toujours possible . Je didnot tester si cela fonctionne quand l'API est appelée à partir de la mise en œuvre.
Ex: ar rc lib1.un obj1.o
ar rc lib2.un obj2.o
ar rc lib3.un lib1.un lib2.un
Mais vous avez besoin pour construire l'appel de l'API de obj1.o et obj2.o. Il n'est pas nécessaire pour extraire les fichiers d'objets individuels archives.
Espère que cela aide!
OriginalL'auteur Naren
Vous devez extraire les fichiers de l'objet des autres bibliothèques et le faisceau de l'objet extrait les fichiers dans votre bibliothèque composite.
Également envisager de chargement incrémental:
ld -r
OriginalL'auteur Jonathan Leffler