J'ai un projet qui construit une bibliothèque statique (.a). Cette bibliothèque statique nécessite la présence de libz.dylib
dans l'application. Maintenant, ce que j'essaie de faire est de ... Lier le libz.dylib
avec la bibliothèque statique elle-même afin que les développeurs qui utiliseront ma bibliothèque statique n'auront pas à lier libz.dylib
avec leur application.Liaison statique d'un dylib
Voici ce que j'ai essayé jusqu'à présent, et les erreurs que je rencontrais:
Si je lien juste la
libz.dylib
dansLink Binary with Libraries
phase de construction de la bibliothèque statique cible, puis utilisez la bibliothèque statique finale avec l'application:Undefined symbols pour l'architecture i386:
"_deflate", fait référence à partir de:
Si je ajoute aussi
-lz
dans leOther Linker Flags
de celui-ci donne la cible Bibliothèque statique, erreur au moment de la construction de la bibliothèque statique lui-même:/Applications/Xcode.app/Contents/Developer/Toolchains /XcodeDefault.xctoolchain/usr/bin/libtool: impossible de localiser le fichier pour: -lz /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: fichier: -lz n'est pas un fichier objet (non autorisé dans une bibliothèque)
Je pense qu'il est même possible de lier une bibliothèque dynamique à la bibliothèque statique, et si oui, comment?
Toute application utilisant votre bibliothèque statique doit se lier avec les frameworks ou les bibliothèques dynamiques partagées que votre bibliothèque lie. – Amar