मुझे निम्नलिखित त्रुटियां हो रही हैं।
libxml / tree.h ऐसी कोई फ़ाइल या निर्देशिका नहीं है
मैंने पहले ही libxml2.dylibअपने प्रोजेक्ट में जोड़ा है, हालांकि मुझे इस प्रकार की परेशानी हो रही है। क्रिप्या मेरि सहायता करे।
मुझे निम्नलिखित त्रुटियां हो रही हैं।
libxml / tree.h ऐसी कोई फ़ाइल या निर्देशिका नहीं है
मैंने पहले ही libxml2.dylibअपने प्रोजेक्ट में जोड़ा है, हालांकि मुझे इस प्रकार की परेशानी हो रही है। क्रिप्या मेरि सहायता करे।
जवाबों:
"अपनी परियोजना फ़ाइल की स्थापना" के तहत यहां दिए गए निर्देशों का पालन करें ।
अपनी प्रोजेक्ट फ़ाइल सेट करना
आपको अपनी परियोजना में libxml2.dylib जोड़ने की जरूरत है (इसे फ्रेमवर्क सेक्शन में न रखें)। मैक पर, आपको इसे
/usr/lib/libxml2.dylibऔर iPhone के लिए मिलेगा , आप/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylibसंस्करण चाहते हैं ।चूँकि libxml2 एक .dylib है (एक अच्छा मित्र नहीं है। Framework) फिर भी हमारे पास एक और चीज़ है। प्रोजेक्ट बिल्ड सेटिंग्स (प्रोजेक्ट-> एडिट प्रोजेक्ट सेटिंग्स-> बिल्ड) पर जाएं और "खोज पथ" ढूंढें। "हैडर खोज पथ" में निम्न पथ जोड़ें:
$(SDKROOT)/usr/include/libxml2
ओपी का जवाब भी देखें ।
/usr/include। मैंने libxml2 को स्थापित करने की कोशिश नहीं की है, इसलिए मैं डिफ़ॉल्ट व्यवहार की पुष्टि नहीं कर सकता। लेकिन हां, इसे इस तरह से लिंक करना ज्यादा बेहतर है।
Libxml2 को जोड़ना गधे में एक बड़ा, मोटा, चुभता दर्द है। यदि आप इसे करने जा रहे हैं, तो इससे पहले कि आप अपनी परियोजना के निर्माण में बहुत दूर हो जाएं।
आपको इसे दो तरह से जोड़ना होगा :
अपने लक्ष्य (अपनी परियोजना नहीं) पर क्लिक करें और चुनें Build Phases।
शीर्षक त्रिकोण पर क्लिक करें Link Binary With Libraries। +लायब्रेरी जोड़ने के लिए क्लिक करें ।
सूची के नीचे स्क्रॉल करें और चुनें libxml2.dylib। यह आपके प्रोजेक्ट में libxml2 लाइब्रेरी जोड़ता है।
अब आपको अपने प्रोजेक्ट को यह बताना होगा कि उसे तीन बार कहां देखना है।
का चयन करें Build Settings tab।
नीचे Linkingअनुभाग पर स्क्रॉल करें । अपनी परियोजनाओं के तहत Other Linker Flagsपंक्ति पर डबल क्लिक करें । सूची पर क्लिक करें +और जोड़ें -lxml2।
अभी आैर।
उसी टैब में, Search Pathsअनुभाग पर स्क्रॉल करें ।
Framework Search Pathsपंक्ति में अपनी परियोजनाओं के कॉलम के तहत जोड़ें /usr/lib/libxml2.dylib।
में Header Search Paths औरUser Header Search Paths पंक्ति जोड़ने $(SDKROOT)/usr/include/libxml2।
उन अंतिम दो मामलों में सुनिश्चित करें कि डिबग और रिलीज़ में पथ दर्ज किया गया है ।
Productमेनू के तहत चयन करें Clean।
फिर, अगर मैं आप थे (और इसका सामना करने देता हूं, तो मैं शायद हूं) मैं Xcode छोड़ कर चला जाऊंगा। जब आप वापस आते हैं और लॉन्च करते हैं तो आपको जाना अच्छा होना चाहिए।
opening import file 'Swift.swift': Not a directoryXcode 5 में ऐसा करने के बाद
1) "libxml2.dylib" लाइब्रेरी को मेरे प्रोजेक्ट के TARGET (बिल्ड चरणों -> लिंक बाइनरी विद लाइब्रेरीज़) में जोड़ें
2) TARGET पर हैडर सर्च पाथ्स में "$ (SDKROOT) / usr / / libxml2" जोड़ें (सेटिंग बनाएँ -> हैडर सर्च पाथ्स)
इसके बाद, लक्ष्य सफलतापूर्वक निर्माण करना चाहिए।
आपको /usr/include/libxml2अपने शामिल पथ में जोड़ने की भी आवश्यकता है ।
@ मैट्ट बॉल का लिंक फॉर्म,
मुझे मेरे लिए मददगार पाया गया।
आपको अपनी परियोजना में libxml2.dylib जोड़ने की जरूरत है (इसे फ्रेमवर्क सेक्शन में न रखें)। मैक पर, आपको इसे /usr/lib/libxml2.dylibऔर iPhone के लिए मिलेगा , आप /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylibसंस्करण चाहते हैं ।
चूँकि libxml2 एक .dylib है (एक अच्छा मित्र नहीं है। Framework) फिर भी हमारे पास एक और चीज़ है। प्रोजेक्ट बिल्ड सेटिंग्स पर जाएं ( Project->Edit Project Settings->Build) और " Search Paths" ढूंढें । "हेडर सर्च पाथ्स" में मैक पर निम्न पथ जोड़ें:
/usr/include/libxml2
रे Wenderlich ने gdata का उपयोग करने के बारे में एक ब्लॉग पोस्ट किया है जो इस समस्या को हल करता है। मूल रूप से ये सरल चरण हैं:
XCode में, Project \ Edit प्रोजेक्ट सेटिंग्स पर क्लिक करें और सुनिश्चित करें कि "सभी कॉन्फ़िगरेशन" चेक किए गए हैं।
खोज पथ \ हैडर खोज पथ सेटिंग खोजें और सूची में / usr / / libxml2 जोड़ें।
अंत में, लिंकिंग / अन्य लिंकर फ़्लैग अनुभाग खोजें और सूची में -lxml2 जोड़ें।
मूल पोस्ट: gdataxml के साथ xml दस्तावेज़ पढ़ें और लिखें
मुझे वही मिला, मुझे नवीनतम Xcode (4.3.x) के लिए $ (SDKROOT) / usr / / libxml2 जोड़ना पड़ा। ALSO, जो मुझे घंटों तक चक्कर लगाता रहा, वह यह है कि मैं "TARGET" को संशोधित कर रहा था न कि "PROJECT" (Xcode का नया UI इतना जटिल है कि इसकी अनदेखी करना आसान है)। आपको परियोजना को संशोधित करने की आवश्यकता है!
एक और समाधान। हेडर सर्च पथ आदि के सभी चरणों को करें और सुनिश्चित करें कि प्रोजेक्ट सेटिंग्स में प्रोजेक्ट में आपका चयनित कॉन्फ़िगरेशन सही है। जब आप प्रोजेक्ट बिल्ड सेटिंग्स पर डबल क्लिक करते हैं, तो आप वितरण सेटिंग्स में बदल सकते हैं, लेकिन आप "डिबग" सेटिंग्स में हेडर खोज पथ को जोड़ने का प्रयास कर रहे हैं। इसलिए सुनिश्चित करें कि आप सही सेटिंग्स में हैं। या सभी सेटिंग्स चुनें
Mavericks के रूप में (ओएस एक्स 10.9) / usr / शामिल निर्देशिका चला गया है । यहां आधे उत्तर अप्रचलित हैं, क्योंकि जब तक आप निर्देशिका शामिल नहीं करते हैं, तब तक आवेदन संकलित नहीं होगा।
मैंने निम्नलिखित कमांड का उपयोग करके टर्मिनल में MacOSX SDK के लिए एक प्रतीकात्मक लिंक बनाने की समस्या को हल किया:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
आवेदन अब फिर से संकलन करता है।
माउंटेन लायन पर मैं एक ही मुद्दे का सामना कर रहा था, जिसे /usr/include/libxml2झंडे "पुनरावर्ती" के साथ पथों को शामिल करके हल किया गया था , यदि उपरोक्त सभी उपयोगी नहीं है तो इसका उपयोग करें।
स्नो लेपर्ड और XCode 3.2 में अपग्रेड करने के बाद जब मुझे एक प्रोजेक्ट (जिसे XCode 3. तेंदुए पर विकसित किया गया था) पर फिर से खोल दिया गया तो मुझे यह समस्या हुई। काफी उत्सुक, यह केवल कुछ प्रकार के बिल्ड को प्रभावित करता है (एमुलेटर बिल्ड ठीक हो गया, डिवाइस वालों ने मुझे त्रुटि दी)। और मेरे पास / usr / में libxml2 है और इसमें वास्तव में libxml / tree.h शामिल है।
यहां तक कि जादू "क्लीन" काम नहीं करता था, लेकिन "एक्सकोड" मेनू के तहत "खाली कैश ..." (ऐप्पल लोगो और फ़ाइल के बीच) ने चाल चली थी (क्या वह मेनू पिछले संस्करणों में था?)। मुझे कारण बताती है, लेकिन एक साफ के बाद libxml / tree.h के बारे में अधिक शिकायतें नहीं थीं
कृपया निम्न चरणों का पालन करें
Libxml2
libxml2.dylib जोड़ना आपके mac machin पर /usr/lib/libxml2.dylib पर पाया जा सकता है
"हेडर खोज पथ" बदलें
[प्रोजेक्ट नाम] (बाएं पैनल में) -> प्रोजेक्ट -> बिल्ड सेटिंग्स -> सभी का चयन करें (डिफ़ॉल्ट मूलभूत है)
खोज बॉक्स में शीर्ष लेख खोज पथ टाइप करें शीर्ष लेख खोज पथ
पर डबल क्लिक करें -> + - > "$ (SDKROOT) / usr / शामिल / libxml2"
Add -lxml2 को "अन्य लिंकर फ़्लैग" के लिए "अन्य लिंकर फ़्लैग" के लिए
खोजें चरण 2 में खोज के रूप
में "अन्य लिंकर फ़्लैग" पंक्ति पर क्लिक करें। "+" पर क्लिक करें और सूची में "-lxml2" जोड़ें।
अपने प्रोजेक्ट प्रकार को ARC में बदलें -> नहीं यानी स्वत: संदर्भ संख्या में गणना आप चरण 2 में ARC को खोज सकते हैं
Xcode 4.5 मैंने पूरी तरह से CW के समाधान का उपयोग किया है। एकमात्र अपवाद यह है कि $ (SDKROOT) / usr / शामिल / libxml2 ने मेरे लिए काम नहीं किया, और मुझे अपने प्रोजेक्ट Header Search Path और User Header Search Path में "$ (SDK_DIR)" / usr / शामिल / libxml2 जोड़ना पड़ा। । उसके बाद प्रोजेक्ट सफलतापूर्वक बनाता है।
संपादित करें: मेरे पास मेरी परियोजना के अंदर Google GData परियोजना है (जिसे MyProject कहा जाता है) (मेरी परियोजना का उपयोग करता है)। GData को libxml की आवश्यकता होती है। प्रोजेक्ट MyProject को सफलतापूर्वक बनाने के लिए, मैं "$ (SDK_DIR)" / usr / / / libxml2 को हेडर सर्च पथ के MyProject में शामिल करता हूं और GData के हेडर सर्च पाथ में नहीं । अगर मैंने इसे MyProject में नहीं जोड़ा, तो प्रोजेक्ट नहीं बना )।
मुझे यह दृश्य ट्यूटोरियल उपयोगी लगा।
ब्लॉककोड को Xcode 4.3.x में libxml2 जोड़ना
Libxml2 को जोड़ना गधे में एक बड़ा, मोटा, चुभता दर्द है। यदि आप ऐसा करने जा रहे हैं, तो इससे पहले कि आप अपनी परियोजना के निर्माण में बहुत दूर हो जाएं।
ऐसे।
लक्ष्य सेटिंग्स
अपने लक्ष्य पर क्लिक करें (आपकी परियोजना नहीं) और "चरण बनाएँ" चुनें। "लिंक बाइनरी विद लाइब्रेरीज़" शीर्षक के त्रिकोण पर क्लिक करें। लाइब्रेरी जोड़ने के लिए "+" पर क्लिक करें। सूची के नीचे स्क्रॉल करें और "libxml2.dylib" चुनें। यह libxml2 लाइब्रेरी 2 को आपकी परियोजना में जोड़ता है ... लेकिन प्रतीक्षा करें।
प्रोजेक्ट सेटिंग्स
अब आपको अपने प्रोजेक्ट को यह बताना है कि उसे तीन और बार कहां देखना है।
"बिल्ड सेटिंग्स टैब" चुनें। "लिंकिंग" अनुभाग तक नीचे स्क्रॉल करें। अपने प्रोजेक्ट के कॉलम के तहत "अन्य लिंकर फ्लैग्स" पंक्ति पर डबल क्लिक करें। "+" पर क्लिक करें और सूची में "-lxml2" जोड़ें।
अभी आैर।
उसी टैब में, "खोज पथ" अनुभाग तक स्क्रॉल करें। "फ्रेमवर्क सर्च पाथ्स" पंक्ति में अपनी परियोजना के कॉलम के तहत "/usr/lib/libxml2.dybibib" जोड़ें।
"हैडर खोज पथ" और "उपयोगकर्ता हैडर खोज पथ" पंक्ति में "$ (SDKROOT) / usr / / libxml2 शामिल करें"। उन अंतिम दो मामलों में सुनिश्चित करें कि डिबग और रिलीज़ में पथ दर्ज किया गया है।
फिर। "उत्पाद" मेनू के तहत "स्वच्छ" चुनें।
यह काम कर रहा है और Xcode5 के लिए भी! धन्यवाद!
Libxml2.dylib को चौखट के नीचे मत रखो, इसे रूट के ठीक नीचे (टॉप लेफ्ट ब्लू आइकन) रूट के नीचे रखें।
फिर प्रोजेक्ट पर क्लिक करें (TOP लेफ्ट ब्लू आइकन), सर्च बॉक्स टाइप "हैडर सर्च पाथ्स" में सेटिंग पर जाएं, और फिर इस "$ (SDKROOT) / usr / को शामिल करें / libxml2"
यह कोड मेरी समस्या को हल करता है आशा है कि यह आपको इसे ठीक करने में मदद करेगा
@ अकीब मुमताज - मुझे "Xcode 4.3 / 5/6 में libxml2 जोड़ना" के ऊपर Parris के नोट में दिए गए निर्देशों का पालन करते हुए यह काम मिला। फ़्रेमवर्क खोज पथ का उपयोग करने का चरण काम नहीं करता है और कंपाइलर शिकायत करता है। वैसे भी उस फेला के लिए बड़ा यश!
मैं Xcode 6.2b3 का उपयोग कर रहा हूं
आपके द्वारा उपयोग किए जा रहे Xcode के संस्करण के बावजूद, यह छोटी गाड़ी है। हमेशा यह मत समझो कि संकलन त्रुटियां वास्तविक हैं। कई बार ऐसा होता है जब यह शीर्ष लेख खोज पथ का पालन नहीं करता है और इसमें स्पष्ट रूप से सूचीबद्ध नहीं पाया जाता है। इससे भी बदतर, परिणाम हैं कि परिणाम आपको अलग-अलग दिशाओं में इंगित करते हैं ताकि आप ध्यान भटकाने के साथ बहुत समय बर्बाद कर सकें। उस के साथ कहा...
इसे बिल्कुल शुरू करके बच्चे के चरणों की सिफारिश करें ...:
टिप्पणियाँ:
उम्मीद है की यह मदद करेगा।
यदि आप वेटरन्स के लिए कुछ विकसित कर रहे हैं, तो ओह एक iPhone / iPad या Mac ऐप कहते हैं, और "MDWS" या "VIA" नामक कुछ चीज़ों के खिलाफ काम कर रहे हैं, जो SOAP आधारित मेडिकल रिकॉर्ड सिस्टम के लिए इंटरफेस हैं ... कृपया मुझसे संपर्क करें
1) मैं इस Phases.follow बिल्ड को libxml फ़ाइल जोड़ी लिंक
2) मैंने अन्य लिंकर फ्लैग को जोड़ा -ObjC(परियोजना और परीक्षण परियोजना लक्ष्य दोनों के लिए)
3) मैं हेडर सर्च पाथ को सेटअप करता हूं "${SDKROOT}/usr/include/libxml2"(किसी भी पक्ष में दोहरे उद्धरण को मत भूलना) (प्रोजेक्ट और टेस्ट प्रोजेक्ट लक्ष्य दोनों के लिए)
उनमें से एक मुद्दे को हल करेगा। यदि आपको उपरोक्त तीनों को नहीं लगाना है।
मुझे लगा कि मैंने गलत तरीके से जोड़ा है, तो मुझे लगता है कि समस्या यह है कि यह चाप का समर्थन नहीं करता है, इसलिए यहां एक का समर्थन करें, जीवन रक्षक -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/