Je reçois les erreurs suivantes.
libxml / tree.h aucun fichier ou répertoire de ce type
J'ai déjà ajouté libxml2.dylib
à mon projet, mais je reçois ce type de problème. Aidez-moi, s'il vous plaît.
Je reçois les erreurs suivantes.
libxml / tree.h aucun fichier ou répertoire de ce type
J'ai déjà ajouté libxml2.dylib
à mon projet, mais je reçois ce type de problème. Aidez-moi, s'il vous plaît.
Réponses:
Suivez les instructions ici , sous «Configuration de votre fichier de projet».
Configuration de votre fichier projet
Vous devez ajouter libxml2.dylib à votre projet (ne le mettez pas dans la section Frameworks). Sur Mac, vous le trouverez sur
/usr/lib/libxml2.dylib
et pour l'iPhone, vous voudrez la/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
version.Puisque libxml2 est un .dylib (pas un .framework sympathique), nous avons encore une chose à faire. Accédez aux paramètres de construction du projet (Projet-> Modifier les paramètres du projet-> Construire) et recherchez les "Chemins de recherche". Dans "Chemins de recherche d'en-tête", ajoutez le chemin suivant:
$(SDKROOT)/usr/include/libxml2
Voir également la réponse du PO .
/usr/include
. Je n'ai pas essayé d'installer libxml2 donc je ne peux pas confirmer le comportement par défaut. Mais oui, c'est bien mieux de le lier de cette façon.
L'ajout de libxml2 est une grosse, grosse douleur capricieuse dans le cul. Si vous comptez le faire, faites-le avant d'aller trop loin dans la construction de votre projet.
Vous devez l'ajouter de deux manières :
Cliquez sur votre cible (pas sur votre projet) et sélectionnez Build Phases
.
Cliquez sur le triangle de révélation intitulé Link Binary With Libraries
. Cliquez sur +
pour ajouter une bibliothèque.
Faites défiler vers le bas de la liste et sélectionnez libxml2.dylib
. Cela ajoute la bibliothèque libxml2 à votre projet.
Vous devez maintenant indiquer à votre projet où le rechercher trois fois de plus.
Sélectionnez le Build Settings tab
.
Faites défiler jusqu'à la Linking
section. Sous les colonnes de vos projets, double-cliquez sur la Other Linker Flags
ligne. Cliquez sur +
et ajoutez -lxml2
à la liste.
Toujours plus.
Dans le même onglet, faites défiler jusqu'à la Search Paths
section.
Sous la colonne de vos projets dans la Framework Search Paths
ligne, ajoutez /usr/lib/libxml2.dylib
.
Dans le Header Search Paths
et la User Header Search Paths
ligne ajouter $(SDKROOT)/usr/include/libxml2
.
Dans ces deux derniers cas, assurez-vous que le chemin est entré dans Debug and Release.
Dans le Product
menu, sélectionnez Clean
.
Ensuite, si j'étais vous (et admettons-le, je le suis probablement), je quitterais Xcode et m'en irais. Lorsque vous revenez et lancez, vous devriez être prêt à partir.
opening import file 'Swift.swift': Not a directory
après avoir fait cela dans Xcode 5.
1) ajouter la bibliothèque "libxml2.dylib" à TARGET de mon projet (Build Phases -> Link Binary With Libraries)
2) ajoutez "$ (SDKROOT) / usr / include / libxml2" aux chemins de recherche d'en-tête sur la CIBLE (Paramètres de construction -> Chemins de recherche d'en-tête)
Après cela, la cible devrait se construire avec succès.
Vous devez également ajouter /usr/include/libxml2
à votre chemin d’inclusion.
Former le lien de @Matt Ball,
J'ai trouvé le suivi utile pour moi.
Vous devez ajouter libxml2.dylib à votre projet (ne le mettez pas dans la section Frameworks). Sur le Mac, vous le trouverez sur /usr/lib/libxml2.dylib
et pour l'iPhone, vous voudrez le/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
version.
Puisque libxml2 est un .dylib (pas un .framework sympathique), nous avons encore une chose à faire. Accédez aux paramètres de construction du projet ( Project->Edit Project Settings->Build
) et recherchez le " Search Paths
". Dans "Chemins de recherche d'en-tête", ajoutez le chemin suivant sur le Mac:
/usr/include/libxml2
Ray Wenderlich a publié un article de blog sur l'utilisation de gdata qui résout ce problème. Fondamentalement, ces étapes simples:
Dans XCode, cliquez sur Projet \ Modifier les paramètres du projet et assurez-vous que «Toutes les configurations» sont cochées.
Recherchez le paramètre Search Paths \ Header Search Paths et ajoutez / usr / include / libxml2 à la liste.
Enfin, recherchez la section Linking \ Other Linker Flags et ajoutez -lxml2 à la liste.
article original: lire et écrire des documents xml avec gdataxml
J'ai trouvé la même chose, j'ai dû ajouter $ (SDKROOT) / usr / include / libxml2 pour le dernier Xcode (4.3.x). AUSSI, ce qui m'a fait tourner autour pendant des heures, c'est le fait que je modifiais la "CIBLE" et non le "PROJET" (la nouvelle interface utilisateur de Xcode est si complexe qu'il est facile de l'oublier). Vous devez modifier le PROJET!
Une autre solution. effectuez toutes les étapes du chemin de recherche d'en-tête, etc. et assurez-vous que la configuration sélectionnée dans le projet dans les paramètres du projet est la bonne. Lorsque vous double-cliquez sur les paramètres de génération du projet, vous modifiez peut-être les paramètres de distribution, mais vous essayez d'ajouter un chemin de recherche d'en-tête dans les paramètres de «débogage». Assurez-vous donc que vous êtes dans les bons paramètres. ou choisissez tous les paramètres
Depuis Mavericks (OS X 10.9), le répertoire / usr / include a disparu . La moitié des réponses ici sont obsolètes, car l'application ne se compilera pas tant que vous n'aurez pas trié le répertoire d'inclusion.
J'ai résolu le problème en créant un lien symbolique vers le SDK MacOSX dans le terminal, en utilisant la commande suivante:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
L'application se compile à nouveau.
Sur Mountain Lion, j'étais confronté au même problème, qui a été résolu en ajoutant /usr/include/libxml2
pour inclure des chemins avec le drapeau "récursif", utilisez ceci si tout ce qui précède n'est pas fructueux.
J'ai eu ce problème lorsque j'ai rouvert un projet (qui a été développé sur XCode 3. quelque chose sur Leopard) après la mise à niveau vers Snow Leopard et XCode 3.2. Curieusement, cela n'a affecté que certains types de builds (les builds d'émulateur se sont bien déroulés, ceux des appareils m'ont donné l'erreur). Et j'ai libxml2 dans / usr / include, et il contient en effet libxml / tree.h.
Même la magie "Clean" n'a pas fonctionné, mais "Vider les caches ..." sous le menu "XCode" (entre le logo Apple et Fichier) a fait l'affaire (ce menu était-il là dans les versions précédentes?). Ça me bat la raison, mais après un nettoyage, il n'y avait plus de plaintes concernant libxml / tree.h
Veuillez suivre les étapes suivantes
L'ajout de libxml2
libxml2.dylib peut être trouvé sur votre machine Mac à /usr/lib/libxml2.dylib
Modifier les "Chemins de recherche des en-têtes"
Cliquez sur [Nom du projet] (dans le panneau de gauche) -> Projet -> Paramètres de construction -> Tout sélectionner (par défaut: Basic)
Tapez les chemins de recherche des en-têtes dans la zone de recherche
Double-cliquez sur Chemins de recherche des en-têtes -> + - > "$ (SDKROOT) / usr / include / libxml2"
Ajoutez -lxml2 à "Autre indicateur de l'éditeur de liens"
Recherchez "Autres indicateurs de l'éditeur de liens " en tant que recherche à l'étape 2,
cliquez sur la ligne "Autres indicateurs de l'éditeur de liens ". Cliquez sur le "+" et ajoutez "-lxml2" à la liste.
Changez votre type de projet en ARC -> Non ie comptage de référence automatique sur Non Vous pouvez rechercher ARC comme à l'étape 2
Xcode 4.5 J'ai entièrement utilisé la solution de The CW. La seule exception est que $ (SDKROOT) / usr / include / libxml2 n'a pas fonctionné pour moi, et j'ai dû ajouter "$ (SDK_DIR)" / usr / include / libxml2 à mes chemins de recherche d'en-tête de projets et de chemins de recherche d'en-tête d'utilisateur . Après que le projet se soit construit avec succès.
EDIT: J'ai un projet Google GData dans mon projet (appelé MyProject) (mon projet utilise). GData nécessite libxml. Pour construire le projet MyProject avec succès, j'ajoute "$ (SDK_DIR)" / usr / include / libxml2 aux chemins de recherche d'en-tête de MyProject et non aux chemins de recherche d'en-tête de GData . Si je ne l'ai pas ajouté à MyProject, le projet ne s'est pas construit ).
J'ai trouvé ce tutoriel visuel utile.
Blockquote Ajout de libxml2 dans Xcode 4.3.x
L'ajout de libxml2 est une grosse, grosse douleur capricieuse dans le cul. Si vous allez le faire, faites-le avant d'aller trop loin dans la construction de votre projet.
Voici comment.
Paramètres cibles
Cliquez sur votre cible (pas sur votre projet) et sélectionnez "Build Phases". Cliquez sur le triangle de révélation intitulé "Link Binary With Libraries". Cliquez sur le "+" pour ajouter une bibliothèque. Faites défiler vers le bas de la liste et sélectionnez "libxml2.dylib". Cela ajoute la bibliothèque libxml2 2 à votre projet… mais attendez.
Paramètres du projet
Vous devez maintenant indiquer à votre projet où le rechercher trois fois de plus.
Sélectionnez l'onglet "Paramètres de construction". Faites défiler jusqu'à la section "Liens". Sous les colonnes de votre projet, double-cliquez sur la ligne "Autres indicateurs de liens". Cliquez sur le "+" et ajoutez "-lxml2" à la liste.
Toujours plus.
Dans le même onglet, faites défiler jusqu'à la section "Chemins de recherche". Sous la colonne de votre projet dans la ligne "Chemins de recherche du framework", ajoutez "/usr/lib/libxml2.dylib".
Dans la ligne «Chemins de recherche d'en-tête» ET «Chemins de recherche d'en-tête d'utilisateur», ajoutez «$ (SDKROOT) / usr / include / libxml2». Dans ces deux derniers cas, assurez-vous que le chemin est entré dans Debug AND Release.
Ensuite. Dans le menu «Produit», sélectionnez «Nettoyer».
Cela fonctionne et pour Xcode5 aussi! Je vous remercie!
Ne mettez pas libxml2.dylib dans le dossier frameworks, placez-le sous la racine juste en dessous de la racine (icône bleue en haut à gauche)
Cliquez ensuite sur le projet (icône bleue en haut à gauche), allez dans les paramètres de construction, dans le champ de recherche tapez "Header Search Paths", puis ajoutez le "$ (SDKROOT) / usr / include / libxml2"
Ce code résout mon problème, j'espère qu'il vous aidera à résoudre ce problème
@Aqib Mumtaz - Je l'ai fait fonctionner en suivant les instructions de la note de Parris ci-dessus intitulée "Ajout de libxml2 dans Xcode 4.3 / 5/6". L'étape d'utilisation d'un chemin de recherche de framework ne fonctionne pas et le compilateur se plaint. Bravo à ce gars quand même!
J'utilise Xcode 6.2b3
Quelle que soit la version de Xcode que vous utilisez, elle est boguée. Ne supposez pas toujours que les erreurs de compilation sont réelles. Il arrive souvent qu'il ne suive pas les chemins de recherche d'en-tête et que les inclusions clairement répertoriées ne soient pas trouvées. Pire encore, les erreurs qui en résultent ont tendance à vous orienter dans des directions différentes, vous perdez donc beaucoup de temps à vous distraire. Cela étant dit...
Recommandez des étapes de bébé en commençant par ceci exactement ...:
Remarques:
J'espère que cela t'aides.
Si vous développez quelque chose pour les vétérans, disons une application iPhone / iPad ou Mac, et que vous travaillez contre quelque chose appelé "MDWS" ou "VIA" qui sont des interfaces SOAP avec le système de dossier médical ... veuillez me contacter
1) J'ai ajouté le fichier libxml aux phases de construction. Suivez ce lien
2) J'ai ajouté d' autres indicateurs de liens comme -ObjC
(pour les objectifs de projet et de projet de test)
3) J'ai configuré le chemin de recherche de l'en-tête comme "${SDKROOT}/usr/include/libxml2"
(N'oubliez pas les guillemets doubles de chaque côté) (Pour les cibles de projet et de projet de test)
L'un d'eux résoudra le problème. Sinon, vous devez appliquer les trois ci-dessus.
J'ai pensé que j'avais mal ajouté, puis je me suis rendu compte que le problème n'est pas que l'arc de soutien ne soit pas pris en charge, alors vérifiez le support ici, économiseur de vie -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/