libxml / tree.h pas un tel fichier ou répertoire

Je reçois les erreurs suivantes.

libxml / tree.h pas un tel fichier ou répertoire

J’ai déjà ajouté libxml2.dylib à mon projet, mais je rencontre ce type de problème. Aidez-moi, s’il vous plaît.

Suivez les instructions ici , sous “Configuration de votre fichier de projet”.

Configuration de votre fichier de projet

Vous devez append libxml2.dylib à votre projet (ne le mettez pas dans la section Frameworks). Sur Mac, vous le trouverez dans /usr/lib/libxml2.dylib et pour l’iPhone, vous aurez besoin du /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib Version /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib .

Puisque libxml2 est un fichier .dylib (pas un joli .framework), nous avons encore une chose à faire. Allez dans les parameters de construction du projet (Projet-> Modifier les parameters du projet-> Construire) et trouvez les “chemins de recherche”. Dans “Chemins de recherche d’en-tête”, ajoutez le chemin suivant:

 $(SDKROOT)/usr/include/libxml2 

Voir aussi la réponse du PO .

Ajout de libxml2 dans Xcode 4.3 / 5/6

L’ajout de libxml2 est une grosse grosse douleur dans le cul. Si vous voulez le faire, faites-le avant de vous lancer dans la construction de votre projet.


Vous devez l’append de deux manières :

1. Paramètres de cible

Cliquez sur votre cible (pas sur votre projet) et sélectionnez Build Phases .

Cliquez sur le sortingangle de révélation intitulé Link Binary With Libraries . Cliquez sur le + pour append une bibliothèque.

Faites défiler jusqu’au bas de la liste et sélectionnez libxml2.dylib . Cela ajoute la bibliothèque libxml2 à votre projet.

2. Paramètres du projet

Maintenant, vous devez dire à votre projet où le chercher encore trois fois.

Sélectionnez l’ Build Settings tab .

Faites défiler jusqu’à la section Linking . Sous les colonnes de vos projets, double-cliquez sur la ligne Other Linker Flags . Cliquez sur le + et ajoutez -lxml2 à la liste.

Toujours plus.

Dans le même onglet, faites défiler jusqu’à la section Search Paths .

Sous la colonne de vos projets, dans la ligne /usr/lib/libxml2.dylib Framework Search Paths ajoutez /usr/lib/libxml2.dylib .

Dans les Header Search Paths et dans la ligne des User Header Search Paths $(SDKROOT)/usr/include/libxml2 User Header Search Paths ajoutez $(SDKROOT)/usr/include/libxml2 .

Dans ces deux derniers cas, assurez-vous que le chemin est entré dans Debug et Release.

3. propre

Dans le menu Product sélectionnez Clean .

Ensuite, si j’étais toi (et avouons-le, je le suis probablement) je quitterais Xcode et partirais. Lorsque vous revenez et que vous lancez, vous devriez être prêt à partir.

Pour Xcode 6, je devais faire ce qui suit:

1) Ajouter la bibliothèque “libxml2.dylib” au TARGET de mon projet (Build Phases -> Link Binary With Libraries)

2) append “$ (SDKROOT) / usr / include / libxml2” aux chemins de recherche d’en-tête sur la cible (parameters de construction -> chemins de recherche d’en-tête)

Après cela, la cible doit se construire avec succès.

Vous devez également append /usr/include/libxml2 à votre chemin d’inclusion.

Formez le lien de @Matt Ball,

J’ai trouvé utile pour moi.

Vous devez append libxml2.dylib à votre projet (ne le mettez pas dans la section Frameworks). Sur Mac, vous le trouverez dans /usr/lib/libxml2.dylib et pour l’iPhone, vous aurez besoin du /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib Version /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib .

Puisque libxml2 est un fichier .dylib (pas un joli .framework), nous avons encore une chose à faire. Allez dans les parameters de construction du Project->Edit Project Settings->Build ( Project->Edit Project Settings->Build ) et trouvez les ” 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 sur l’utilisation de gdata pour résoudre ce problème. Fondamentalement, ces étapes simples:

Dans XCode, cliquez sur Projet \ Modifier les parameters du projet et assurez-vous que «Toutes les configurations» sont cochées.

Recherchez le paramètre Chemins de recherche \ Header Search Paths et ajoutez / usr / include / libxml2 à la liste.

Enfin, recherchez la section Linking \ Other Linker Flags et ajoutez -lxml2 à la liste.

post original: lire et écrire des documents XML avec gdataxml

J’ai trouvé la même chose, j’ai dû append $ (SDKROOT) / usr / include / libxml2 pour le dernier Xcode (4.3.x). Ce qui m’a aussi empêché de tourner pendant des heures, c’est le fait que je modifiais le “TARGET” et non le “PROJECT” (la nouvelle interface de Xcode est tellement complexe qu’il est facile de l’ignorer). Vous devez modifier le projet!

Une autre solution. Effectuez toutes les étapes du chemin de recherche des en-têtes, etc. et assurez-vous que la configuration sélectionnée dans Project dans les parameters du projet est la bonne. Lorsque vous double-cliquez sur les parameters de construction du projet, vous pouvez modifier les parameters de dissortingbution, mais vous essayez d’append un chemin de recherche d’en-tête dans les parameters “Debug”. Donc, assurez-vous que vous êtes dans les parameters corrects. ou choisissez tous les parameters

J’ai trouvé que avec xCode 4.3.2 je devais entrer $ (SDKROOT) / usr / include / libxml2 dans le champ de recherche d’en-tête plutôt que simplement / usr / include / libxml2

A partir de 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 comstackra pas jusqu’à ce que vous sortingiez le répertoire include.

J’ai résolu le problème en créant un lien symbolique vers MacOSX SDK in 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 comstack maintenant à nouveau.

Je ne sais pas quelle est la différence, mais ajoutez le chemin d’inclusion au projet ainsi que la cible.

Sur Mountain Lion, je faisais face au même problème, qui a été résolu en ajoutant /usr/include/libxml2 pour inclure des chemins avec un indicateur “récursif”, utilisez-le si tout ce qui précède n’est pas fructueux.

J’ai rencontré ce problème lorsque j’ai rouvert un projet (développé sur XCode 3.sur quelque chose sur Leopard) après une mise à niveau vers Snow Leopard et XCode 3.2. Curieusement, cela n’affectait que certains types de builds (les builds de l’émulateur se passaient bien, ceux de l’appareil me donnaient l’erreur). Et j’ai libxml2 à / usr / include, et il contient en effet libxml / tree.h.

Même la magie “Clean” ne fonctionnait pas, mais “Empty Caches …” sous le menu “XCode” (entre le logo Apple et File) faisait l’affaire (ce menu était-il dans les versions précédentes?). Me bat la raison, mais après un nettoyage il n’y avait plus de plaintes concernant libxml / tree.h

Sélectionnez également “Toujours rechercher les chemins d’utilisateur” sur OUI. Dans XCode 4.3.3, sa valeur par défaut est NO

Veuillez suivre les étapes suivantes

  1. Ajouter libxml2
    libxml2.dylib peut être trouvé sur votre mac machin à /usr/lib/libxml2.dylib

  2. Modifier les “chemins de recherche d’en-tête”
    Cliquez sur [Nom du projet] (dans le panneau de gauche) -> Projet -> Paramètres de construction -> Tout sélectionner (par défaut, Basic)
    Type En-têtes de recherche dans la zone de recherche
    Double-cliquez sur les chemins de recherche des en-têtes -> + -> “$ (SDKROOT) / usr / include / libxml2”

  3. Ajouter -lxml2 à “Autre indicateur de l’éditeur de liens”
    Recherchez “Autres indicateurs de liaison” dans la recherche à l’étape 2
    Cliquez sur la ligne “Autres indicateurs de liaison”. Cliquez sur le “+” et ajoutez “-lxml2” à la liste.

  4. Changez votre type de projet en ARC -> Non, c.-à-d. Le décompte automatique des références à Non Vous pouvez rechercher l’ARC conformément à l’étape 2

Xcode 4.5 J’ai utilisé la solution de la CW entièrement. La seule exception est que $ (SDKROOT) / usr / include / libxml2 ne fonctionnait pas pour moi et que je devais append “$ (SDK_DIR)” / usr / include / libxml2 à mes chemins de recherche d’en- têtes de projets et à mes chemins de recherche d’en-tête d’utilisateur . Après que le projet 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 créer 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 n’a pas été compilé .

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 dans le cul. Si vous voulez le faire, faites-le avant de vous lancer dans la construction de votre projet.

Voici comment.

Paramètres de cible

Cliquez sur votre cible (pas votre projet) et sélectionnez “Construire des phases”. Cliquez sur le sortingangle de révélation intitulé “Link Binary With Libraries”. Cliquez sur le “+” pour append 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

Maintenant, vous devez dire à votre projet où le chercher encore trois fois.

Sélectionnez l’onglet “Build Settings”. Faites défiler jusqu’à la section “Liaison”. Sous les colonnes de votre projet, double-cliquez sur la ligne “Autres indicateurs de liaison”. 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 “Framework Search Paths”, ajoutez “/usr/lib/libxml2.dylib”.

Dans la section “Chemins de recherche d’en-tête” ET la ligne “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.

Alors. Sous le menu “Produit”, sélectionnez “Nettoyer”.

Cela fonctionne et pour Xcode5 aussi! Je vous remercie!

Ne mettez pas libxml2.dylib sous le dossier frameworks, mettez-le sous la racine juste en dessous de la racine (icône bleue en haut à gauche)

Cliquez ensuite sur le projet (icône bleue TOP gauche), sur GO to Build Settings, dans le champ de recherche “Header Search Paths”, puis ajoutez ceci “$ (SDKROOT) / usr / include / libxml2”

Ce code résout mon problème en espérant 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 “Ajouter libxml2 dans Xcode 4.3 / 5/6”. L’étape d’utilisation d’un Framework Search Path ne fonctionne pas et le compilateur se plaint. Gros 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 présumez pas toujours que les erreurs de compilation sont réelles. Il y a de nombreuses fois où il ne suit pas les chemins de recherche d’en-tête et inclut clairement les éléments non trouvés. Pire encore, les erreurs qui en résultent tendent à vous orienter dans des directions différentes, ce qui vous fait perdre beaucoup de temps à vous laisser distraire. Ceci étant dit…

Recommandez les étapes de bébé en commençant par ceci exactement:

  1. créer un seul projet Mac OS X Cocoa appelé “Bench Test”
  2. Ajouter XpathQuery dans le répertoire source de votre projet directement dans le Finder
  3. cliquez sur l’icône du dossier minuscule sous le bouton de fermeture rouge de la fenêtre du projet
  4. faites glisser XpathQuery (dossier si vous l’avez contenu) dans les éléments du projet à gauche de l’affichage de la fenêtre du projet
  5. faites glisser /Applications/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libxml2.2.dylib dans les ressources de votre projet, en bas. Cela l’appenda facilement dans vos “phases de construction” -> “Lier le binary avec les bibliothèques”
  6. Cliquez sur l’icône du projet “Bench Test” dans la colonne des actifs du projet, en haut à gauche
  7. rechercher “Autres indicateurs de liaison” sous “Paramètres de construction”
  8. Ajouter “-lxml2” (sans “”) à “Autres indicateurs de l’éditeur de liens” sous la colonne d’icône de projet “Bench Test”
  9. rechercher “recherche d’en-tête” sous “Paramètres de construction”
  10. Ajouter “$ (SDKROOT) / usr / include / libxml2” (sans “”) à “Chemins de recherche d’en-tête” sous la colonne d’icône de projet “Bench Test”
  11. Ajouter “$ (SDKROOT) / usr / include / libxml2” (sans “”) à “Chemins de recherche d’en-tête d’utilisateur” dans la colonne d’icône de projet “Test de banc”

Remarques:

  • Le mien ne fonctionnerait pas tant que je n’aurais pas ajouté ce chemin de recherche aux deux chemins de recherche “Header Search Paths” et “User Header Search Paths”.
  • Pour accéder à libxml2.2.dylib dans le moteur de recherche, vous devez cliquer avec le bouton droit de la souris sur l’icône Xcode et sélectionner “Afficher les contacts du package” (éditorial: quel piratage … ranger toute cette poubelle dans l’application)
  • Préparez-vous à changer la libxml2.2.dylib liée. Celui à l’ intérieur de Xcode est intentionnellement utilisé pour s’assurer que Xcode obtient quelque chose dont il a connaissance et que, en théorie, il a été testé. Vous voudrez peut-être utiliser le dylib dans le système plus tard (lisez dans ce fil)
  • Comme j’utilise Xcode 6.2b3, je peux avoir un libxml2.2.dylib plus récent. Votre nom pourrait être légèrement différent. Il suffit de chercher dans le dossier quelque chose qui commence par “libxml” et qui se termine par “.dylib” et cela devrait être le cas. Il peut également y avoir un alias comme “libxml2.dylib”. Ne l’utilisez pas tout de suite car la résolution d’un alias ajoute une autre variable dans l’équation de Xcode “ce qui pourrait avoir des bogues”.
  • Pour des raisons de santé mentale, je crée des alias de bibliothèques externes, les renomme pour indiquer lequel ils sont et les garde au même niveau que le fichier de projet dans le Finder. S’ils changent d’emplacement, changent de nom, etc., l’alias contiendra les informations de téléchargement, le chemin complet du fichier d’origine pour un travail de détective ultérieur afin de comstackr et de lier à nouveau le projet. (les liens symboliques se brisent trop facilement et ne sont pas naturels pour le Mac)
  • Dernière chose, et très importante, voir http://www.cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html où vous pouvez télécharger XpathQuery et obtenir plus de bonté.

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 travaillez contre quelque chose appelé “MDWS” ou “VIA” qui sont des interfaces SOAP au système de dossiers médicaux … contactez-moi s’il vous plaît

J’ai résolu en trois étapes inXcode 8.0 + Unit Test Project

1) J’ai ajouté le fichier libxml aux phases de construction.

2) J’ai ajouté d’ autres -ObjC de -ObjC comme -ObjC (pour les cibles de projet et de projet)

3) Je configure le chemin de recherche d’en-tête en tant que "${SDKROOT}/usr/include/libxml2" (N’oubliez pas les guillemets des deux côtés) (pour les cibles du projet et du projet de test)

L’un d’eux résoudra le problème. Sinon, vous devez appliquer les trois éléments ci-dessus.

Je pensais que j’avais ajouté à tort, alors je me rends compte que le problème est qu’il ne supporte pas l’arc, alors vérifiez le support ici, vie sauveur -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/