J'ai un projet (AQGridView
) qui se compile dans une bibliothèque statique, mais je n'arrive pas à l'ajouter à mon projet.
Faire glisser le projet dans mon projet crée un espace de travail et, si je tente de lier le libAQGridView.a
du fichier DerivedData
, il ne le reconnaît pas comme une bibliothèque. Je ne suis pas sûr de ce que je fais mal.
C'est le projet AQGridView
. Quelqu'un sait-il spécifiquement comment l'utiliser dans un projet Xcode 4?
Je fais ceci comme suit:
Si vous ne voyez pas le projet de bibliothèque statique imbriqué sous le projet principal dans le navigateur de projet du projet principal, la raison la plus probable est que le projet Xcode de la bibliothèque statique est toujours ouvert. Quittez Xcode et ouvrez le projet principal contenant le projet de bibliothèque statique imbriqué sans ouvrir le projet de bibliothèque statique d'origine lui-même. Vous devriez le voir apparaître sous forme de projet imbriqué dans votre projet principal.
Menu Xcode> Affichage> Utilitaires> Inspecteur de fichiers
Sélectionnez le fichier de bibliothèque statique, puis définissez 'Type de fichier' comme 'Code d'objet Mach-O' dans 'Identité et type'.
Recherchez votre fichier .a dans le Finder et faites-le glisser dans votre projet.
Sélectionnez l'option "Copier les éléments dans le dossier du groupe de destination (si nécessaire)" et ajoutez vos en-têtes à votre projet.
Maintenant, XCode 4 devrait automatiquement être lié à ce cadre pour vous.
Voici à quoi devrait ressembler la bibliothèque dans votre projet:
Les espaces de travail sont censés faciliter les choses, mais je ne le sais pas. Pour ce faire, je crée un espace de travail, ajoute mon projet principal, ajoute mon projet de bibliothèque. Puis entrez dans les phases de construction du projet principal et ajoutez la bibliothèque dans la section "Lier le binaire avec les bibliothèques", puis ajoutez la bibliothèque. Cela devrait être tout ce qui est nécessaire, du moins c'est ce que je lis, mais ce n'est pas le cas. Ce que je fais est d'aller dans les préférences Xcode, puis dans le volet Arbres sources. Ajoutez une arborescence source qui pointe vers les en-têtes de votre bibliothèque statique, puis revenez aux paramètres de construction de votre projet, puis à la clé Chemins de recherche des en-têtes, puis entrez $ {foo}, où "foo" correspond à ce que vous avez appelé l'arborescence source. .
C'est ce qui fonctionne pour moi, bien que je ne sache pas si c'est la meilleure ou la plus simple des manières de le faire.
Suivez la documentation d'Apple.
En bref:
-ObjC
à 'Autres drapeaux de lieur' (OTHER_LDFLAGS
) sous les paramètres de construction de la cible.De plus, je devais ajouter la bibliothèque au schéma de mon projet principal, car la bibliothèque n'était pas visible dans les dépendances de la cible.
La réponse de Halle fonctionne pour moi avec un ajout: