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.
objective-c
iphone
xcode
libxml2
Sagar R. Kothari
la source
la source
Réponses:
Suivez les instructions ici , sous «Configuration de votre fichier de projet».
Voir également la réponse du PO .
la source
/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.Ajout de libxml2 dans Xcode 4.3 / 5/6
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 :
1. 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+
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.2. Paramètres du 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 laOther 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 laUser 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.
3. Nettoyer
Dans le
Product
menu, sélectionnezClean
.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.
la source
opening import file 'Swift.swift': Not a directory
après avoir fait cela dans Xcode 5.Pour Xcode 6, je devais faire ce qui suit:
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.
la source
Vous devez également ajouter
/usr/include/libxml2
à votre chemin d’inclusion.la source
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:la source
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
la source
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!
la source
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
la source
J'ai trouvé qu'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
la source
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:
L'application se compile à nouveau.
la source
Je ne sais pas quelle est la différence, mais ajoutez le chemin d'inclusion au projet ainsi qu'à la cible.
la source
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.la source
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
la source
Sélectionnez également «Toujours rechercher les chemins utilisateur» sur OUI. Dans XCode 4.3.3 c'est par défaut NON
la source
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
la source
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 ).
la source
J'ai trouvé ce tutoriel visuel utile.
la source
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!
la source
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
la source
@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
la source
J'ai résolu en trois étapes dans Xcode 8.0 + Unit Test Project
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.
la source
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/
la source