Saya mendapatkan kesalahan berikut.
libxml / tree.h tidak ada file atau direktori seperti itu
Saya telah menambahkan libxml2.dylib
ke proyek saya, namun saya mendapatkan masalah jenis ini. Tolong bantu aku.
objective-c
iphone
xcode
libxml2
Sagar R. Kothari
sumber
sumber
Jawaban:
Ikuti petunjuk di sini , di bawah "Menyiapkan file proyek Anda".
Lihat juga jawaban OP .
sumber
/usr/include
. Saya belum mencoba menginstal libxml2 jadi saya tidak dapat memastikan perilaku default. Tapi ya, jauh lebih baik menghubungkannya seperti itu.Menambahkan libxml2 di Xcode 4.3 / 5/6
Menambahkan libxml2 adalah rasa sakit yang besar, gemuk, dan rewel di pantat. Jika Anda akan melakukannya, lakukan sebelum Anda terlalu jauh membangun proyek Anda.
Anda perlu menambahkannya dengan dua cara :
1. Pengaturan target
Klik pada target Anda (bukan proyek Anda) dan pilih
Build Phases
.Klik pada segitiga pengungkapan yang berjudul
Link Binary With Libraries
. Klik pada+
untuk menambahkan perpustakaan.Gulir ke bawah daftar dan pilih
libxml2.dylib
. Itu menambahkan pustaka libxml2 ke proyek Anda.2. Pengaturan proyek
Sekarang Anda harus memberi tahu proyek Anda di mana mencarinya tiga kali lagi.
Pilih
Build Settings tab
.Gulir ke bawah ke
Linking
bagian tersebut. Di bawah kolom proyek Anda, klik dua kali padaOther Linker Flags
baris tersebut. Klik+
dan tambahkan-lxml2
ke daftar.Masih lebih.
Di tab yang sama, gulir ke bawah ke
Search Paths
bagian tersebut.Di bawah kolom proyek Anda di
Framework Search Paths
baris tambahkan/usr/lib/libxml2.dylib
.Dalam
Header Search Paths
dan yangUser Header Search Paths
add baris$(SDKROOT)/usr/include/libxml2
.Dalam dua kasus terakhir tersebut, pastikan bahwa jalur dimasukkan di Debug dan Rilis.
3. Bersih
Di bawah
Product
menu pilihClean
.Kemudian, jika saya menjadi Anda (dan hadapi saja, saya mungkin) saya akan keluar dari Xcode dan pergi. Saat Anda kembali dan meluncurkan, sebaiknya Anda pergi.
sumber
opening import file 'Swift.swift': Not a directory
setelah melakukan ini di Xcode 5.Untuk Xcode 6, saya harus melakukan hal berikut:
1) tambahkan pustaka "libxml2.dylib" ke TARGET proyek saya (Tahap Pembuatan -> Tautkan Biner Dengan Pustaka)
2) tambahkan "$ (SDKROOT) / usr / include / libxml2" ke Jalur Pencarian Header pada TARGET (Pengaturan Bangun -> Jalur Pencarian Header)
Setelah ini, target harus berhasil dibangun.
sumber
Anda juga perlu menambahkan
/usr/include/libxml2
jalur penyertaan Anda.sumber
Bentuk tautan @Matt Ball,
Menurut saya, mengikuti membantu saya.
Anda perlu menambahkan libxml2.dylib ke proyek Anda (jangan letakkan di bagian Frameworks). Di Mac, Anda akan menemukannya di
/usr/lib/libxml2.dylib
dan untuk iPhone, Anda akan menginginkan file/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
versinya.Karena libxml2 adalah .dylib (bukan .framework ramah yang bagus), kita masih memiliki satu hal lagi yang harus dilakukan. Pergi ke pengaturan proyek membangun (
Project->Edit Project Settings->Build
) dan temukan "Search Paths
". Di "Jalur Pencarian Header" tambahkan jalur berikut di Mac:sumber
Ray Wenderlich memiliki entri blog tentang penggunaan gdata yang memecahkan masalah ini. Pada dasarnya langkah-langkah sederhana ini:
Di XCode, klik Project \ Edit Project Settings dan pastikan "All Configurations" dicentang.
Temukan pengaturan Jalur Pencarian \ Header Jalur Pencarian dan tambahkan / usr / include / libxml2 ke daftar.
Terakhir, temukan bagian Linking \ Other Linker Flags dan tambahkan -lxml2 ke daftar.
posting asli: membaca dan menulis dokumen xml dengan gdataxml
sumber
Saya menemukan hal yang sama, saya harus menambahkan $ (SDKROOT) / usr / include / libxml2 untuk Xcode terbaru (4.3.x). JUGA, yang membuat saya berputar-putar selama berjam-jam adalah kenyataan bahwa saya memodifikasi "TARGET" dan bukan "PROJECT" (UI baru Xcode sangat rumit sehingga mudah untuk mengabaikannya). Anda perlu memodifikasi PROYEK!
sumber
Solusi lain. lakukan semua langkah di jalur pencarian tajuk, dll. dan pastikan konfigurasi yang Anda pilih dalam proyek di pengaturan Proyek sudah benar. Ketika Anda mengklik dua kali pada pengaturan pembangunan proyek, Anda mungkin mengubah dalam pengaturan Distribusi, Tapi Anda mencoba untuk menambahkan jalur pencarian tajuk dalam pengaturan "Debug". Jadi pastikan Anda berada dalam pengaturan yang benar. atau pilih semua pengaturan
sumber
Saya menemukan bahwa dengan xCode 4.3.2 saya harus memasukkan $ (SDKROOT) / usr / include / libxml2 ke dalam bidang Pencarian Header daripada hanya / usr / include / libxml2
sumber
Pada Mavericks (OS X 10.9), direktori / usr / include sudah tidak ada . Separuh dari jawaban di sini sudah usang, karena aplikasi tidak akan dikompilasi sampai Anda memilah direktori include.
Saya memecahkan masalah membuat tautan simbolis ke MacOSX SDK di terminal, menggunakan perintah berikut:
Aplikasi sekarang dikompilasi lagi.
sumber
Saya tidak yakin apa perbedaannya tetapi tambahkan jalur penyertaan ke proyek serta target.
sumber
Di Mountain Lion saya menghadapi masalah yang sama, yang diselesaikan dengan menambahkan
/usr/include/libxml2
path dengan bendera "rekursif", gunakan ini jika semua di atas tidak membuahkan hasil.sumber
Saya mengalami masalah ini ketika saya membuka kembali sebuah proyek (yang dikembangkan di XCode 3.ssesuatu di Leopard) setelah memutakhirkan ke Snow Leopard dan XCode 3.2. Cukup penasaran, ini hanya memengaruhi beberapa jenis build (build emulator berjalan dengan baik, build perangkat memberi saya error). Dan saya memiliki libxml2 di / usr / include, dan itu memang berisi libxml / tree.h.
Bahkan keajaiban "Clean" tidak berhasil, tetapi "Empty Caches ..." di bawah menu "XCode" (antara logo Apple dan File) melakukan triknya (apakah menu itu ada di versi sebelumnya?). Mengalahkan saya alasannya, tetapi setelah bersih tidak ada lagi keluhan mengenai libxml / tree.h
sumber
Pilih juga "Selalu Cari Jalur Pengguna" untuk YES. Dalam XCode 4.3.3 secara default TIDAK
sumber
Ikuti langkah-langkah berikut ini
Menambahkan libxml2
libxml2.dylib dapat ditemukan di mesin mac Anda di /usr/lib/libxml2.dylib
Ubah "Jalur Pencarian Header"
Klik [Nama Proyek] (di panel kiri) -> Proyek -> Pengaturan Bangun -> Pilih Semua (default adalah Dasar)
Ketik Jalur Pencarian Header di kotak pencarian
Klik dua kali pada Jalur Pencarian Header -> + - > "$ (SDKROOT) / usr / include / libxml2"
Tambahkan -lxml2 ke "Tanda penaut lain"
Cari "Tanda Penaut Lain" sebagai pencarian di langkah 2,
klik baris "Tanda Penaut Lain". Klik "+" dan tambahkan "-lxml2" ke daftar.
Ubah jenis proyek Anda ke ARC -> Tidak, yaitu Penghitungan Referensi Otomatis ke Tidak. Anda dapat mencari ARC sesuai langkah 2
sumber
Xcode 4.5 Saya telah menggunakan solusi The CW sepenuhnya. Satu-satunya pengecualian adalah bahwa $ (SDKROOT) / usr / include / libxml2 tidak berfungsi untuk saya, dan saya harus menambahkan "$ (SDK_DIR)" / usr / include / libxml2 ke Jalur Pencarian Header Proyek dan Jalur Pencarian Header Pengguna . Setelah itu proyek berhasil dibangun.
EDIT: Saya memiliki proyek Google GData di dalam proyek saya (disebut Proyek Saya) (proyek saya menggunakan). GData membutuhkan libxml. Untuk membangun proyek MyProject dengan sukses, saya menambahkan "$ (SDK_DIR)" / usr / include / libxml2 ke Header Search Paths of MyProject dan no ke Header Search Paths of GData . Jika saya tidak menambahkannya ke MyProject, proyek tidak dibangun ).
sumber
Saya menemukan tutorial visual ini berguna.
sumber
Menambahkan libxml2 adalah rasa sakit yang besar, gemuk, dan rewel di pantat. Jika Anda akan melakukannya, lakukan sebelum Anda terlalu jauh membangun proyek Anda.
Begini caranya.
Pengaturan target
Klik pada target Anda (bukan proyek Anda) dan pilih "Build Phases". Klik pada segitiga terbuka berjudul "Link Binary With Libraries". Klik pada "+" untuk menambahkan perpustakaan. Gulir ke bagian bawah daftar dan pilih "libxml2.dylib". Itu menambahkan libxml2 library 2 proyek Anda… tapi tunggu.
Pengaturan proyek
Sekarang Anda harus memberi tahu proyek Anda di mana mencarinya tiga kali lagi.
Pilih "tab Build Settings". Gulir ke bawah ke bagian "Menautkan". Di bawah kolom proyek Anda, klik dua kali pada baris "Bendera Penghubung Lainnya". Klik "+" dan tambahkan "-lxml2" ke daftar.
Masih lebih.
Di tab yang sama, gulir ke bawah ke bagian "Jalur Penelusuran". Di bawah kolom proyek Anda di baris "Framework Search Paths" tambahkan "/usr/lib/libxml2.dylib".
Dalam "Jalur Pencarian Header" DAN baris "Jalur Pencarian Header Pengguna" tambahkan "$ (SDKROOT) / usr / include / libxml2". Dalam dua kasus terakhir tersebut, pastikan bahwa jalur dimasukkan dalam Debug DAN Rilis.
Kemudian. Di bawah Menu "Produk" pilih "Bersihkan".
Ini berfungsi dan untuk Xcode5 juga! Terima kasih!
sumber
Jangan letakkan libxml2.dylib di bawah folder frameworks, letakkan di bawah root tepat di bawah root (ikon biru kiri atas)
Kemudian Klik pada Proyek (TOP Kiri biru ikon), Pergi ke Build Settings, di kotak pencarian ketik "Header Search Paths" dan kemudian tambahkan ini "$ (SDKROOT) / usr / include / libxml2"
Kode ini menyelesaikan masalah saya, semoga dapat membantu Anda memperbaikinya
sumber
@Aqib Mumtaz - Saya membuatnya berfungsi dengan mengikuti petunjuk di catatan Parris di atas yang berjudul "Menambahkan libxml2 di Xcode 4.3 / 5/6". Langkah dalam menggunakan Framework Search Path tidak berhasil dan compiler mengeluh. Pujian besar untuk orang itu!
Saya menggunakan Xcode 6.2b3
Terlepas dari versi Xcode yang Anda gunakan, ini bermasalah. Jangan selalu menganggap bahwa kesalahan kompilasi itu nyata. Ada banyak kali ketika tidak mengikuti jalur pencarian header dan termasuk yang tercantum dengan jelas tidak ditemukan. Lebih buruk lagi, kesalahan yang dihasilkan cenderung mengarahkan Anda ke arah yang berbeda sehingga Anda membuang banyak waktu untuk memikirkan gangguan. Dengan mengatakan itu ...
Rekomendasikan langkah-langkah kecil dengan memulai dengan ini dengan tepat ...:
Catatan:
semoga ini membantu.
Jika Anda kebetulan mengembangkan sesuatu untuk Veteran, katakanlah aplikasi iPhone / iPad atau Mac, dan sedang mengerjakan sesuatu yang disebut "MDWS" atau "VIA" yang merupakan antarmuka berbasis SOAP ke sistem rekam medis ... silakan hubungi saya
sumber
Saya menyelesaikan dalam tiga langkah di Xcode 8.0 + Proyek Uji Unit
1) Saya menambahkan file libxml ke Build Phases. Ikuti tautan ini
2) Saya menambahkan Bendera Linker Lainnya sebagai
-ObjC
(Untuk proyek dan target proyek uji)3) Saya menyiapkan Jalur Pencarian Header sebagai
"${SDKROOT}/usr/include/libxml2"
(Jangan lupa tanda kutip ganda di kedua sisi) (Untuk target proyek dan proyek uji)Salah satunya akan menyelesaikan masalah. Jika tidak, Anda harus menerapkan ketiga cara di atas.
sumber
Saya pikir saya salah menambahkan, kemudian saya menyadari masalahnya adalah tidak mendukung arc, jadi periksa dukungannya di sini, penghemat hidup -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/
sumber