Comment inclure un framework dans une dynamic library?
Guillaume C
Membre
Bonjour,
Dans un projet Xcode, j'ai une target qui est une "Dynamic Library", et pour fonctionner, elle a besoin d'utiliser un framework particulier. Je fais donc "New Copy Files Build Phase" et j'y mets le framework, mais cela ne marche pas, contrairement à mon autre target qui est un "Command-line Tool". Le framework est bien copié, mais dans le même répertoire que la library. Et quand je charge cette library, j'ai une erreur "Library not loaded: @loader_path/../Frameworks/". Comment faire pour que le framework soit installé DANS la library, ou comment faire pour que ça marche si il y a une autre solution?
Merci
Guillaume
Dans un projet Xcode, j'ai une target qui est une "Dynamic Library", et pour fonctionner, elle a besoin d'utiliser un framework particulier. Je fais donc "New Copy Files Build Phase" et j'y mets le framework, mais cela ne marche pas, contrairement à mon autre target qui est un "Command-line Tool". Le framework est bien copié, mais dans le même répertoire que la library. Et quand je charge cette library, j'ai une erreur "Library not loaded: @loader_path/../Frameworks/". Comment faire pour que le framework soit installé DANS la library, ou comment faire pour que ça marche si il y a une autre solution?
Merci
Guillaume
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Une framework est un bundle (= un dossier) qui contient des bibliothèques précompilées et des ressources (sons, textes, images, etc.).
Tu peux incorporer une framework au bundle d'une application (elle se trouvera dans son sous-dossier Frameworks), mais comment veux-tu faire pour un fichier binaire comme une bibliothèque dynamique ?
En fait, je suis plutôt surpris que cela fonctionne pour Command-line tool.
L'autre solution est de placer la framework dans /Bibliothèque/Frameworks.
OK - Merci! Ca explique tout! Et en fait, je crois que cela fonctionne avec Command-line tool uniquement parce qu'il va chercher le framework ailleurs, alors que je croyais qu'il était dans le tool...