Comment définir le chemin d'inclusion dans le projet xcode
Je suis en train d'utiliser une bibliothèque C Objective-C, Xcode projet.
Le répertoire des bibliothèques de la structure est comme suit:
-- include/
|-- config.h
|-- lib/
| |-- file1.h
| |-- file2.h
| |-- file3.h
La bibliothèque de docs dire d'inclure fichier1.h, et fichier1.h comprend fichier2.h et fichier3.h.
Je suis "fichier non trouvé" erreurs pour les includes de fichier2.h et fichier3.h`.
Ils sont couverts par le fichier1.h de la manière suivante:
#include <lib/file1.h>
#include <lib/file2.h>
J'ai lu ici que ces angle de supports en instruire le préprocesseur à la recherche pour inclure les fichiers ainsi que le chemin d'accès spécifié par la variable d'environnement include, par opposition à la recherche dans le même répertoire que le fichier qui contient le #include.
J'ai donc ajouté à la variable d'environnement include dans Xcode en allant sur le Produit->Modifier le Schéma.. et mis à /the-whole-path-to/include/
cependant, j'ai toujours le fichier non trouvé des erreurs.
Les fichiers sont inclus avec succès si je change fichier1.h à les inclure comme ceci:
#include "file2.h"
mais je préfère ne pas le faire pour chaque fichier dans la bibliothèque.
Comment puis-je résoudre ce problème?
- Voir aussi Xcode Paramètre de construction de Référence sur les développeurs d'Apple.
Vous devez vous connecter pour publier un commentaire.
Dans la version 5.0.2 de XCode, la meilleure façon d'accomplir ceci est probablement pour l'ajouter à la cible "les Chemins de Recherche" volet. La localisation de ce qui a été (pour moi) incroyablement pas intuitive. Voici comment j'en suis arrivé il, pour ceux aussi confus que moi:
Dans la colonne de gauche, cliquez sur le Navigateur de Projets icône (qui ressemble à un dossier). Ensuite, cliquez sur l'entrée de projet. Cela devrait montrer un tas de paramètres dans le volet principal. En haut de cette fenêtre, cliquez sur "Paramètres de construction. Cela montre un tas d'entrées... dont celle des Chemins de Recherche... mais vous ne pouvez pas ajouter un chemin de recherche ici! Cela m'a fait grincer mes dents depuis un certain temps, jusqu'à ce que j'ai compris que le nom du projet, au-dessus de ce volet a été un menu déroulant, choisissez la cible à partir de ce pull-down, et vous devriez maintenant être en mesure de double-cliquez sur "en-Tête de Chemins de Recherche" et d'effectuer le besoin de modifier.
Oh, la joie de fou Interfaces graphiques.
Pensé à elle.
Tout ce que vous avez à faire est d'ajouter l'option-I à votre paramètre de construction sous la rubrique "Autres C Drapeaux"
Dans votre cible du paramètre de construction de la recherche pour "Autres C Flags" et d'ajouter
-I/path-to-include/
Voici une capture d'écran:
-I
àOther C Flags
a le même effet que l'utilisation deHEADER_SEARCH_PATHS (Header Search Paths)
. Voir Xcode Paramètres de construction de la Référence sur les développeurs d'Apple.J'ai résolu ce problème dans Xcode 5.0.1 à l'aide de la version de projet de Paramètres (comme John et Ian l'a noté ci-dessus, mais je ne peux pas faire de commentaires en raison de <50 rep).
Nouvelle info:
Lors de l'ajout comprend à Utilisateur en-Tête de Chemins de Recherche, j'ai aussi dû changer Toujours à la Recherche de Chemins d'accès Utilisateur à Oui.
Lors de l'ajout comprend à la (non-Utilisateur) de la Tête des Chemins de Recherche, Toujours à la Recherche de Chemins de l'Utilisateur n'est pas requis.
Essayez ceci:
1 - sélectionnez votre fichier de projet dans la gauche Xcode volet
2 - assurez-vous que votre projet est sélectionné dans le milieu Xcode volet
3 - sélectionnez "Build Settings" en haut de la moyenne Xcode volet
4 - assurez-vous que "Toutes les" & "Combinés" sont sélectionnés juste en dessous de "Build Settings"
5 - type d'en-tête dans le champ de recherche juste en dessous de "Build Settings"
Vous devriez voir le chemin de recherche des champs de prêt pour l'édition dans le volet du milieu.
Bien que cela fonctionne, il est probablement mieux de le mettre sous le "les Chemins de Recherche" de l'onglet à la place.
Soit vous pouvez utiliser "les Autres C des Drapeaux" ou utiliser "HEADER_SEARCH_PATHS", pour spécifier les chemins d'inclusion, de chercher de l'en-tête de votre fichier exécutable.