Ricevo i seguenti errori.
libxml / tree.h nessun file o directory di questo tipo
Ho già aggiunto libxml2.dylib
al mio progetto, tuttavia sto riscontrando questo tipo di problemi. Mi aiuti per favore.
Ricevo i seguenti errori.
libxml / tree.h nessun file o directory di questo tipo
Ho già aggiunto libxml2.dylib
al mio progetto, tuttavia sto riscontrando questo tipo di problemi. Mi aiuti per favore.
Risposte:
Segui le istruzioni qui , in "Configurazione del file di progetto".
Configurazione del file di progetto
Devi aggiungere libxml2.dylib al tuo progetto (non metterlo nella sezione Frameworks). Sul Mac, lo troverai su
/usr/lib/libxml2.dylib
e per iPhone, ti consigliamo la/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
versione.Dato che libxml2 è un .dylib (non un bel .framework amichevole) abbiamo ancora un'altra cosa da fare. Vai alle impostazioni di compilazione del progetto (Progetto-> Modifica impostazioni progetto-> Crea) e trova i "Percorsi di ricerca". In "Percorsi di ricerca intestazione" aggiungi il seguente percorso:
$(SDKROOT)/usr/include/libxml2
Vedi anche la risposta dell'OP .
/usr/include
. Non ho provato a installare libxml2 quindi non posso confermare il comportamento predefinito. Ma sì, è molto meglio collegarlo in questo modo.
Aggiungere libxml2 è un grosso, grasso, schizzinoso rompicoglioni. Se hai intenzione di farlo, fallo prima di arrivare troppo lontano nella costruzione del tuo progetto.
Devi aggiungerlo in due modi :
Fare clic sul target (non sul progetto) e selezionare Build Phases
.
Fare clic sul triangolo di rivelazione intitolatoLink Binary With Libraries
. Fare clic su +
per aggiungere una libreria.
Scorri fino alla fine dell'elenco e seleziona libxml2.dylib
. Ciò aggiunge la libreria libxml2 al tuo progetto.
Ora devi dire al tuo progetto dove cercarlo tre altre volte.
Seleziona il file Build Settings tab
.
Scorri verso il basso fino alla Linking
sezione. Sotto le colonne dei tuoi progetti fai doppio clic sulla Other Linker Flags
riga. Fare clic su +
e aggiungere -lxml2
all'elenco.
Ancora di più.
Nella stessa scheda, scorri verso il basso fino alla Search Paths
sezione.
Sotto la colonna dei tuoi progetti nella Framework Search Paths
riga aggiungi /usr/lib/libxml2.dylib
.
Nella Header Search Paths
e la User Header Search Paths
fila aggiuntivo $(SDKROOT)/usr/include/libxml2
.
In questi ultimi due casi, assicurati che il percorso sia inserito in Debug e Release.
Sotto il Product
menu selezionare Clean
.
Quindi, se fossi in te (e ammettiamolo, probabilmente lo sono) lascerei Xcode e me ne andrei. Quando torni e lanci dovresti essere pronto.
opening import file 'Swift.swift': Not a directory
dopo averlo fatto in Xcode 5.
1) aggiungi la libreria "libxml2.dylib" al TARGET del mio progetto (Build Phases -> Link Binary With Libraries)
2) aggiungi "$ (SDKROOT) / usr / include / libxml2" ai percorsi di ricerca dell'intestazione su TARGET (Impostazioni di creazione -> Percorsi di ricerca dell'intestazione)
Dopodiché, l'obiettivo dovrebbe essere costruito correttamente.
È inoltre necessario aggiungere /usr/include/libxml2
al percorso di inclusione.
Forma il link di @Matt Ball,
Ho trovato utile seguire.
Devi aggiungere libxml2.dylib al tuo progetto (non metterlo nella sezione Frameworks). Sul Mac, lo troverai su /usr/lib/libxml2.dylib
e per iPhone, ti consigliamo la /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
versione.
Dato che libxml2 è un .dylib (non un bel .framework amichevole) abbiamo ancora un'altra cosa da fare. Vai alle impostazioni di creazione del progetto ( Project->Edit Project Settings->Build
) e trova " Search Paths
". In "Percorsi di ricerca intestazione" aggiungi il seguente percorso sul Mac:
/usr/include/libxml2
Ray Wenderlich ha un post sul blog sull'utilizzo di gdata che risolve questo problema. Fondamentalmente questi semplici passaggi:
In XCode, fare clic su Progetto \ Modifica impostazioni progetto e assicurarsi che "Tutte le configurazioni" siano selezionate.
Trova l'impostazione Percorsi di ricerca \ Percorsi di ricerca intestazione e aggiungi / usr / include / libxml2 all'elenco.
Infine, trova la sezione Linking \ Other Linker Flags e aggiungi -lxml2 all'elenco.
post originale: leggi e scrivi documenti xml con gdataxml
Ho trovato lo stesso, ho dovuto aggiungere $ (SDKROOT) / usr / include / libxml2 per l'ultimo Xcode (4.3.x). INOLTRE, ciò che mi ha tenuto in giro per ore è il fatto che stavo modificando il "TARGET" e non il "PROGETTO" (la nuova interfaccia utente di Xcode è così intricata che è facile trascurarla). Devi modificare il PROGETTO!
Un'altra soluzione. esegui tutti i passaggi nel percorso di ricerca dell'intestazione ecc. e assicurati che la configurazione selezionata nel progetto nelle impostazioni del progetto sia quella corretta. Quando fai doppio clic sulle impostazioni di creazione del progetto, potresti modificare le impostazioni di distribuzione, ma stai tentando di aggiungere il percorso di ricerca dell'intestazione nelle impostazioni di "Debug". Quindi assicurati di avere le impostazioni corrette. o scegli tutte le impostazioni
A partire da Mavericks (OS X 10.9) la directory / usr / include è scomparsa . La metà delle risposte qui sono obsolete, poiché l'applicazione non verrà compilata fino a quando non risolverai la directory include.
Ho risolto il problema creando un collegamento simbolico a MacOSX SDK nel terminale, utilizzando il seguente comando:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
L'applicazione ora si compila di nuovo.
Su Mountain Lion stavo affrontando lo stesso problema, che è stato risolto aggiungendo /usr/include/libxml2
per includere percorsi con flag "ricorsivo", usa questo se tutto quanto sopra non è fruttuoso.
Ho avuto questo problema quando ho riaperto un progetto (che è stato sviluppato su XCode 3. qualcosa su Leopard) dopo l'aggiornamento a Snow Leopard e XCode 3.2. Abbastanza curioso, ha interessato solo alcuni tipi di build (le build dell'emulatore sono andate bene, quelle del dispositivo mi hanno dato l'errore). E ho libxml2 in / usr / include, e in effetti contiene libxml / tree.h.
Anche la magia "Clean" non ha funzionato, ma "Empty Caches ..." nel menu "XCode" (tra il logo Apple e File) ha funzionato (quel menu era lì nelle versioni precedenti?). Mi batte il motivo, ma dopo una pulizia non ci sono state più lamentele riguardo libxml / tree.h
Si prega di seguire i seguenti passaggi
Aggiunta di libxml2
libxml2.dylib può essere trovato sul tuo computer mac su /usr/lib/libxml2.dylib
Cambia "Percorsi di ricerca intestazione"
Fai clic su [Nome progetto] (nel pannello di sinistra) -> Progetto -> Impostazioni di costruzione -> Seleziona tutto (l'impostazione predefinita è Base)
Digita Percorsi di ricerca intestazione nella casella di ricerca Fai
doppio clic su Percorsi di ricerca intestazione -> + - > "$ (SDKROOT) / usr / include / libxml2"
Aggiungi -lxml2 a "Altro contrassegno linker"
Cerca "Altri contrassegni linker" come ricerca nel passaggio 2
fai clic sulla riga "Altri contrassegni linker ". Fare clic su "+" e aggiungere "-lxml2" all'elenco.
Cambia il tuo tipo di progetto in ARC -> No, cioè Conteggio automatico dei riferimenti su No Puoi cercare ARC come nel passaggio 2
Xcode 4.5 Ho utilizzato interamente la soluzione di The CW. L'unica eccezione è che $ (SDKROOT) / usr / include / libxml2 non ha funzionato per me e ho dovuto aggiungere "$ (SDK_DIR)" / usr / include / libxml2 ai miei percorsi di ricerca intestazione progetti e percorsi di ricerca intestazione utente . Dopo che il progetto viene compilato con successo.
EDIT: ho un progetto Google GData all'interno del mio progetto (chiamato MyProject) (il mio progetto utilizza). GData richiede libxml. Per costruire con successo il progetto MyProject, aggiungo "$ (SDK_DIR)" / usr / include / libxml2 a Header Search Paths di MyProject e no a Header Search Paths di GData . Se non l'ho aggiunto a MyProject, il progetto non è stato creato ).
Ho trovato utile questo tutorial visivo .
Blockquote Aggiunta di libxml2 in Xcode 4.3.x
Aggiungere libxml2 è un grosso, grasso, schizzinoso rompicoglioni. Se hai intenzione di farlo, fallo prima di arrivare troppo lontano nella costruzione del tuo progetto.
Ecco come.
Impostazioni di destinazione
Fare clic sul target (non sul progetto) e selezionare "Build Phases". Fare clic sul triangolo di rivelazione intitolato "Collega file binario con librerie". Fare clic sul "+" per aggiungere una libreria. Scorri fino alla fine dell'elenco e seleziona "libxml2.dylib". Questo aggiunge la libreria libxml2 2 al tuo progetto ... ma aspetta.
Impostazioni del progetto
Ora devi dire al tuo progetto dove cercarlo altre tre volte.
Seleziona la "scheda Impostazioni build". Scorri verso il basso fino alla sezione "Collegamento". Sotto le colonne del progetto, fai doppio clic sulla riga "Altri flag del linker". Fare clic su "+" e aggiungere "-lxml2" all'elenco.
Ancora di più.
Nella stessa scheda, scorri verso il basso fino alla sezione "Percorsi di ricerca". Sotto la colonna del tuo progetto nella riga "Framework Search Paths" aggiungi "/usr/lib/libxml2.dylib".
Nella riga "Percorsi di ricerca intestazione" E "Percorsi di ricerca intestazione utente" aggiungi "$ (SDKROOT) / usr / include / libxml2". In questi ultimi due casi assicurati che il percorso sia inserito in Debug AND Release.
Poi. Sotto il menu "Prodotto" seleziona "Pulisci".
Funziona e anche per Xcode5! Grazie!
Non mettere libxml2.dylib nella cartella frameworks metterlo sotto root appena sotto la root (icona blu in alto a sinistra)
Quindi fare clic sul progetto (icona blu in alto a sinistra), andare su Impostazioni build, nella casella di ricerca digitare "Header Search Paths" e quindi aggiungere "$ (SDKROOT) / usr / include / libxml2"
Questo codice risolve il mio problema, spero che ti aiuti a risolverlo
@Aqib Mumtaz - L'ho fatto funzionare seguendo le istruzioni nella nota di Parris sopra intitolata "Aggiunta di libxml2 in Xcode 4.3 / 5/6". Il passaggio nell'utilizzo di un percorso di ricerca del framework non funziona e il compilatore si lamenta. Grandi complimenti a quel tizio comunque!
Sto usando Xcode 6.2b3
Indipendentemente dalla versione di Xcode che stai utilizzando, è bacato. Non dare sempre per scontato che gli errori di compilazione siano reali. Ci sono molte volte in cui non segue i percorsi di ricerca dell'intestazione e include chiaramente elencati non vengono trovati. Peggio ancora, gli errori che ne derivano tendono a indirizzarti in direzioni diverse, quindi perdi molto tempo a trafficare con le distrazioni. Detto questo ...
Consiglia piccoli passi iniziando esattamente con questo ...:
Appunti:
spero che questo ti aiuti.
Se ti capita di sviluppare qualcosa per i veterani, diciamo un'app per iPhone / iPad o Mac, e stai lavorando contro qualcosa chiamato "MDWS" o "VIA" che sono interfacce basate su SOAP per il sistema di cartelle cliniche ... per favore contattami
1) Ho aggiunto il file libxml a Build Phases. Segui questo link
2) Ho aggiunto altri flag del linker come-ObjC
(per entrambi gli obiettivi del progetto e del progetto di test)
3) Ho impostato il percorso di ricerca dell'intestazione come"${SDKROOT}/usr/include/libxml2"
(Non dimenticare le virgolette doppie su entrambi i lati) (sia per obiettivi di progetto che di test)
Uno di loro risolverà il problema. In caso contrario, devi applicare tutti e tre i precedenti.
pensavo di aver aggiunto in modo errato, quindi mi rendo conto che il problema è che non supporta l'arco, quindi controlla quello di supporto qui, salvavita -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/