2013-08-02 3 views
22

मैं अक्सर देखते हैं खुला स्रोत कोड इस तरह Xcode/ऑब्जेक्टिव-सी कार्यान्वयन फाइलों में तीसरे पक्ष के पुस्तकालयों का आयात:एक्सकोड को कैसे बताएं कि कोण ब्रैकेट के साथ निर्दिष्ट लाइब्रेरी को कैसे शामिल किया जाए?

#import <ThirdPartyLibrary/utilities.h> 

लेकिन जब मैं खींचें & अपने प्रोजेक्ट में फ़ाइल संरचना और इस तरह के एक पुस्तकालय की फ़ाइलों को छोड़, ये सभी आयात दूषित हैं और एक्सकोड नहीं जानता कि फाइलें कहां हैं।

मैं अंत हाथ में सुधार करने वाले हर आयात तरह देखने के लिए:

#import "utilities.h" 

और प्रतीत होता है कि यह फाइल सिस्टम पर वर्तमान भौतिक फ़ोल्डर के सापेक्ष है शामिल हैं। जब एक लाइब्रेरी फाइल सिस्टम पर फ़ोल्डर्स में अपनी फाइलों को विभाजित करती है और मैं इसे एक्सकोड में ड्रैग-ड्रॉप करता हूं, तो एक्सकोड फ़ोल्डरों के लिए समूह बनाता है। लेकिन आयात के लिए, मुझे फ़ोल्डर का नाम निर्दिष्ट करना होगा। समस्या यह है कि जब मैं एक फ़ोल्डर में हूँ, उदाहरण के लिए:

http/httpTools.h

फिर जब httpTools.h जड़ से utilities.h आयात करना चाहता है, मैं बदलना होगा

#import <ThirdPartyLibrary/utilities.h> 

से

#import "../utilities.h" 

जो एक कोर है। 5 घंटे के लिए ऐसा करने के बाद मैंने सोचा, एक बेहतर तरीका होना चाहिए। क्या कोई बता सकता है कि एक्सकोड को एक नए ढांचे के स्थान को पढ़ाने का रहस्य क्या है जिसे कोण ब्रैकेट के साथ आयात किया जा सकता है? ढांचा बीटीडब्ल्यू स्रोत कोड है। संकलित नहीं है। बस नग्न कोड।

+2

यह एक्सकोड नहीं है, बल्कि यह कंपाइलर है। वैसे भी, आपको कंपाइलर के हेडर फ़ाइल खोज पथ का विस्तार करना होगा; यह जीसीसी और क्लैंग के मामले में '-I 'कंपाइलर ध्वज निर्दिष्ट करके किया जा सकता है। –

+0

फ़ाइलों में खींचने की बजाय मुझे एक ही समस्या थी, हेडर खोज पथ xcode सेटिंग में प्रासंगिक निर्देशिका शामिल करें। –

+0

क्या आप तीसरे पक्ष के ढांचे या पूर्ण स्रोत कोड आयात कर रहे हैं? – Wain

उत्तर

11

कंपाइलर ध्वज -I, या एक्सकोड बिल्ड सेटिंग्स उपनाम HEADER_SEARCH_PATHS का उपयोग करके शामिल पथ निर्दिष्ट करें। बेशक, आप ऐसा करते समय बिल्ड वैरिएबल का उपयोग कर सकते हैं।

+3

मेरे मामले में काम नहीं कर रहा है। ऐसा लगता है कि एक्सकोड केवल ब्रैकेट के बीच निर्दिष्ट हेडर के लिए सिस्टम लाइब्रेरी से खोज करता है। – zell

+0

आप केवल 'शामिल' नहीं जोड़ सकते हैं। '$ (SRCROOT)/इसके बजाय /' शामिल करें। – Jeff

+0

HEADER_SEARCH_PATHS अज्ञात कारण के लिए मेरे लिए काम नहीं किया। एक कंपाइलर ध्वज के रूप में जोड़ने- हालांकि काम किया। –

5

बस एक ही मुद्दे पर ठोकर खाई, वहाँ Xcode में खोज रास्तों में से दो प्रकार हैं:

Header Search Paths 
User Header Search Paths 

आप अपने खुद के हैडर खोजें पथ में फ़ोल्डर्स शामिल जोड़ते हैं तो आपको कोणीय कोष्ठक का उपयोग कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे