J'utilise le apple gcc pour compiler un dylib que je vais redistribuer. Pour diverses raisons, j'utilise des bibliothèques, disons libz
pour simplifier les choses.Évitez les liens dans les symboles inutilisés lors de la liaison avec les bibliothèques statiques
Étant donné que cette bibliothèque ne se trouve généralement pas sur un système Mac, je souhaite utiliser les symboles static link in dans le dylib en transmettant le chemin au .a-file
pour simplifier le déploiement.
Maintenant, le lieur lie en tous les symboles de la lib dans le dylib résultant bien que je ne fasse référence qu'à un sous-ensemble. Sur linux je n'ai jamais rencontré ce problème, l'éditeur de liens rejette heureusement tous les symboles non référencés et crée un exécutable très mince, il devrait donc être possible. Le fichier dylib que j'ai maintenant est ~ 10 fois plus grand que ce qu'il devrait.
J'ai essayé de bidouiller avec le drapeau d'éditeur -dead_code, mais en vain. Peut-être que je ne comprends tout simplement pas?
Est-ce que quelqu'un connaît la solution?
merci de google up this. Compiler sur mac yeilds Les objets "Mach-O" contrairement à ELF que je crois sont utilisés avec le commutateur '--gc-sections'. J'ai essayé le commutateur '-gfull' avec le' -dead_strip' mais en vain. – vidstige