Ich erhalte folgende Fehler.
libxml / tree.h keine solche Datei oder kein solches Verzeichnis
Ich habe libxml2.dylib
mein Projekt bereits erweitert , bekomme jedoch solche Probleme. Bitte hilf mir.
objective-c
iphone
xcode
libxml2
Sagar R. Kothari
quelle
quelle
Antworten:
Befolgen Sie die Anweisungen hier unter "Einrichten Ihrer Projektdatei".
Siehe auch die Antwort des OP .
quelle
/usr/include
. Ich habe nicht versucht, libxml2 zu installieren, daher kann ich das Standardverhalten nicht bestätigen. Aber ja, es ist viel besser, es so zu verknüpfen.Hinzufügen von libxml2 in Xcode 4.3 / 5/6
Das Hinzufügen von libxml2 ist ein großer, fetter, pingeliger Schmerz im Arsch. Wenn Sie es tun wollen, tun Sie es, bevor Sie beim Erstellen Ihres Projekts zu weit kommen.
Sie müssen es auf zwei Arten hinzufügen :
1. Zieleinstellungen
Klicken Sie auf Ihr Ziel (nicht auf Ihr Projekt) und wählen Sie
Build Phases
.Klicken Sie auf das Dreieck mit dem Titel
Link Binary With Libraries
. Klicken Sie auf+
, um eine Bibliothek hinzuzufügen.Scrollen Sie zum Ende der Liste und wählen Sie
libxml2.dylib
. Dadurch wird die libxml2-Bibliothek zu Ihrem Projekt hinzugefügt.2. Projekteinstellungen
Nun müssen Sie Ihr Projekt sagen , wo es suchen drei weitere Male.
Wählen Sie die
Build Settings tab
.Scrollen Sie nach unten zum
Linking
Abschnitt. Doppelklicken Sie unter den Spalten Ihres Projekts auf dieOther Linker Flags
Zeile. Klicken Sie auf+
und fügen Sie-lxml2
der Liste hinzu.Immer noch mehr.
Scrollen Sie auf derselben Registerkarte nach unten zum
Search Paths
Abschnitt.Fügen Sie unter Ihrer Projektspalte in der
Framework Search Paths
Zeile hinzu/usr/lib/libxml2.dylib
.In der
Header Search Paths
und derUser Header Search Paths
Zeile hinzufügen$(SDKROOT)/usr/include/libxml2
.Stellen Sie in den letzten beiden Fällen sicher, dass der Pfad in Debug and Release eingegeben wurde .
3. Reinigen
Wählen Sie im
Product
Menü die OptionClean
.Wenn ich Sie wäre (und seien wir ehrlich), würde ich Xcode beenden und weggehen. Wenn Sie zurückkommen und starten, sollten Sie bereit sein zu gehen.
quelle
opening import file 'Swift.swift': Not a directory
danach in Xcode 5.Für Xcode 6 musste ich Folgendes tun:
1) Fügen Sie die Bibliothek "libxml2.dylib" zum TARGET meines Projekts hinzu (Build Phases -> Link Binary With Libraries).
2) Fügen Sie "$ (SDKROOT) / usr / include / libxml2" zu den Header-Suchpfaden im TARGET hinzu (Build-Einstellungen -> Header-Suchpfade)
Danach sollte das Ziel erfolgreich erstellt werden.
quelle
Sie müssen auch
/usr/include/libxml2
Ihren Include-Pfad hinzufügen .quelle
Bilden Sie den Link von @Matt Ball,
Ich fand folgendes hilfreich für mich.
Sie müssen Ihrem Projekt libxml2.dylib hinzufügen (nicht in den Abschnitt Frameworks einfügen). Auf dem Mac finden Sie es auf
/usr/lib/libxml2.dylib
und für das iPhone möchten Sie die/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
Version.Da libxml2 eine .dylib ist (kein nettes freundliches .framework), haben wir noch eine Sache zu tun. Gehen Sie zu den Projekterstellungseinstellungen (
Project->Edit Project Settings->Build
) und suchen Sie das "Search Paths
". Fügen Sie unter "Header-Suchpfade" den folgenden Pfad auf dem Mac hinzu:quelle
Ray Wenderlich hat einen Blog-Beitrag über die Verwendung von GDATA, der dieses Problem löst. Grundsätzlich diese einfachen Schritte:
Klicken Sie in XCode auf Projekt \ Projekteinstellungen bearbeiten und stellen Sie sicher, dass "Alle Konfigurationen" aktiviert ist.
Suchen Sie die Einstellung Suchpfade \ Header-Suchpfade und fügen Sie der Liste / usr / include / libxml2 hinzu.
Suchen Sie schließlich den Abschnitt Linking \ Other Linker Flags und fügen Sie -lxml2 zur Liste hinzu.
Originalbeitrag: XML-Dokumente mit gdataxml lesen und schreiben
quelle
Ich fand das gleiche, ich musste $ (SDKROOT) / usr / include / libxml2 für den neuesten Xcode (4.3.x) hinzufügen. AUCH was mich stundenlang im Kreis gehalten hat, ist die Tatsache, dass ich das "ZIEL" und nicht das "PROJEKT" geändert habe (die neue Benutzeroberfläche von Xcode ist so kompliziert, dass es leicht zu übersehen ist). Sie müssen das PROJEKT ändern!
quelle
Eine andere Lösung. Führen Sie alle Schritte im Header-Suchpfad usw. aus und stellen Sie sicher, dass Ihre ausgewählte Konfiguration im Projekt in den Projekteinstellungen korrekt ist. Wenn Sie auf Einstellungen für die Projekterstellung doppelklicken, ändern Sie möglicherweise die Verteilungseinstellungen. Sie versuchen jedoch, den Header-Suchpfad in den "Debug" -Einstellungen hinzuzufügen. Stellen Sie also sicher, dass Sie die richtigen Einstellungen vorgenommen haben. oder wählen Sie alle Einstellungen
quelle
Ich fand heraus, dass ich mit xCode 4.3.2 $ (SDKROOT) / usr / include / libxml2 in das Feld Headersuche eingeben musste und nicht einfach / usr / include / libxml2
quelle
Ab Mavericks (OS X 10.9) das Verzeichnis / usr / include ist verschwunden . Die Hälfte der Antworten hier ist veraltet, da die Anwendung erst kompiliert wird, wenn Sie das Include-Verzeichnis sortieren.
Ich habe das Problem beim Erstellen einer symbolischen Verknüpfung zum MacOSX SDK im Terminal mit dem folgenden Befehl gelöst:
Die Anwendung wird jetzt erneut kompiliert.
quelle
Ich bin mir nicht sicher, was der Unterschied ist, aber füge den Include-Pfad zum Projekt sowie zum Ziel hinzu.
quelle
Auf Mountain Lion hatte ich das gleiche Problem, das durch Hinzufügen
/usr/include/libxml2
von Pfaden mit der Flagge "rekursiv" behoben wurde. Verwenden Sie diese Option, wenn alle oben genannten Punkte nicht fruchtbar sind.quelle
Ich hatte dieses Problem, als ich nach dem Upgrade auf Snow Leopard und XCode 3.2 ein Projekt (das auf XCode 3.something on Leopard entwickelt wurde) erneut öffnete. Seltsamerweise betraf es nur einige Arten von Builds (Emulator-Builds gingen in Ordnung, Geräte-Builds gaben mir den Fehler). Und ich habe libxml2 unter / usr / include und es enthält tatsächlich libxml / tree.h.
Sogar das magische " Reinigen " funktionierte nicht, aber "Leere Caches ..." unter dem Menü "XCode" (zwischen dem Apple-Logo und Datei) hat den Trick gemacht (war dieses Menü in früheren Versionen vorhanden?). Schlägt mich den Grund, aber nach einer Reinigung gab es keine Beschwerden mehr bezüglich libxml / tree.h
quelle
Wählen Sie außerdem "Immer nach Benutzerpfaden suchen" bis JA. In XCode 4.3.3 ist standardmäßig NO
quelle
Bitte folgen Sie den folgenden Schritten
Das Hinzufügen von libxml2
libxml2.dylib finden Sie auf Ihrem Mac-Machin unter /usr/lib/libxml2.dylib
"Header-Suchpfade" ändern
Klicken Sie auf [Projektname] (im linken Bereich) -> Projekt -> Build-Einstellungen -> Alle auswählen (Standard ist Standard).
Geben Sie Header-Suchpfade in das Suchfeld ein.
Doppelklicken Sie auf Header- Suchpfade -> + - > "$ (SDKROOT) / usr / include / libxml2"
Fügen Sie -lxml2 zu "Other Linker Flag" hinzu.
Suchen Sie nach "Other Linker Flags", während Sie in Schritt 2 suchen.
Klicken Sie auf die Zeile "Other Linker Flags". Klicken Sie auf das "+" und fügen Sie "-lxml2" zur Liste hinzu.
Ändern Sie Ihren Projekttyp in ARC -> Nein, dh Automatische Referenzzählung auf Nein. Sie können ARC gemäß Schritt 2 durchsuchen
quelle
Xcode 4.5 Ich habe die CW-Lösung vollständig verwendet. Die einzige Ausnahme ist , dass $ (SDKROOT) / usr / include / libxml2 nicht für mich arbeiten, und ich hatte hinzufügen "$ (SDK_DIR)" / usr / include / libxml2 meine Projekte Header - Suchpfade und User Header - Suchpfade . Danach wird das Projekt erfolgreich erstellt.
BEARBEITEN: Ich habe ein Google GData-Projekt in meinem Projekt (MyProject genannt) (mein Projekt verwendet). GData benötigt libxml. Um das Projekt MyProject erfolgreich zu erstellen, füge ich "$ (SDK_DIR)" / usr / include / libxml2 zu den Header-Suchpfaden von MyProject und nein zu den Header-Suchpfaden von GData hinzu . Wenn ich es nicht zu MyProject hinzugefügt habe, wurde das Projekt nicht erstellt .
quelle
Ich fand dieses visuelle Tutorial nützlich.
quelle
Das Hinzufügen von libxml2 ist ein großer, fetter, pingeliger Schmerz im Arsch. Wenn Sie es tun wollen, tun Sie es, bevor Sie beim Erstellen Ihres Projekts zu weit kommen.
Hier ist wie.
Zieleinstellungen
Klicken Sie auf Ihr Ziel (nicht auf Ihr Projekt) und wählen Sie "Phasen erstellen". Klicken Sie auf das Dreieck "Link Binary With Libraries". Klicken Sie auf das "+", um eine Bibliothek hinzuzufügen. Scrollen Sie zum Ende der Liste und wählen Sie "libxml2.dylib". Das fügt Ihrem Projekt die libxml2-Bibliothek 2 hinzu… aber warten Sie.
Projekt Einstellungen
Jetzt müssen Sie Ihrem Projekt noch dreimal mitteilen, wo es suchen soll.
Wählen Sie die Registerkarte "Build Settings". Scrollen Sie nach unten zum Abschnitt "Verknüpfen". Doppelklicken Sie unter den Spalten Ihres Projekts auf die Zeile "Andere Linker-Flags". Klicken Sie auf das "+" und fügen Sie "-lxml2" zur Liste hinzu.
Immer noch mehr.
Scrollen Sie auf derselben Registerkarte nach unten zum Abschnitt "Suchpfade". Fügen Sie unter der Spalte Ihres Projekts in der Zeile "Framework Search Paths" "/usr/lib/libxml2.dylib" hinzu.
Fügen Sie in den Zeilen "Header-Suchpfade" UND "Benutzer-Header-Suchpfade" "$ (SDKROOT) / usr / include / libxml2" hinzu. Stellen Sie in den letzten beiden Fällen sicher, dass der Pfad in Debug AND Release eingegeben wurde.
Dann. Wählen Sie im Menü "Produkt" die Option "Reinigen".
Das funktioniert und auch für Xcode5! Danke dir!
quelle
Legen Sie libxml2.dylib nicht unter den Framework-Ordner, sondern unter root direkt unter dem root (blaues Symbol oben links).
Klicken Sie dann auf das Projekt (blaues Symbol oben links), gehen Sie zu Build Settings, geben Sie im Suchfeld "Header Search Paths" ein und fügen Sie dieses "$ (SDKROOT) / usr / include / libxml2" hinzu.
Dieser Code behebt mein Problem und hofft, dass er Ihnen dabei hilft, dieses Problem zu beheben
quelle
@Aqib Mumtaz - Ich habe es zum Laufen gebracht, indem ich den Anweisungen in Parris 'Hinweis oben mit dem Titel "Hinzufügen von libxml2 in Xcode 4.3 / 5/6" gefolgt bin. Der Schritt bei der Verwendung eines Framework-Suchpfads funktioniert nicht und der Compiler beschwert sich. Ein großes Lob an diesen Kerl!
Ich benutze Xcode 6.2b3
Unabhängig von der Version von Xcode, die Sie verwenden, ist es fehlerhaft. Gehen Sie nicht immer davon aus, dass Kompilierungsfehler real sind. Es gibt viele Fälle, in denen es keinen Header-Suchpfaden folgt und klar aufgelistete Includes nicht gefunden werden. Schlimmer noch, die daraus resultierenden Fehler weisen Sie in verschiedene Richtungen, sodass Sie viel Zeit damit verschwenden, sich mit Ablenkungen zu beschäftigen. Nachdem das gesagt worden ist...
Empfehlen Sie Babyschritte, indem Sie genau damit beginnen ...:
Anmerkungen:
hoffe das hilft.
Wenn Sie gerade etwas für Veteranen entwickeln, sagen wir eine iPhone / iPad- oder Mac-App, und gegen etwas namens "MDWS" oder "VIA" arbeiten, bei dem es sich um SOAP-basierte Schnittstellen zum Krankenakten-System handelt ... kontaktieren Sie mich bitte
quelle
Ich habe in drei Schritten inXcode 8.0 + Unit Test Project gelöst
1) Ich habe die libxml-Datei zur Build-Phase hinzugefügt. Folgen Sie diesem Link
2) Ich habe Andere Linker-Flags als
-ObjC
(für Projekt- und Testprojektziele ) hinzugefügt.3) Ich richte den Header-Suchpfad ein als
"${SDKROOT}/usr/include/libxml2"
(Doppelter Anführungszeichen auf beiden Seiten nicht vergessen) (sowohl für Projekt- als auch für Testprojektziele)Einer von ihnen wird das Problem lösen. Wenn nicht, müssen Sie alle drei oben genannten Punkte anwenden.
quelle
Ich dachte, ich habe falsch hinzugefügt, dann stelle ich fest, dass das Problem darin besteht, dass es kein Unterstützungsbogen ist. Überprüfen Sie daher den Support hier, Lebensretter -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/
quelle