ठीक है, मैंने जो कोशिश की है वह ठीक है।दो लक्ष्य, एक ही नाम के साथ दो शीर्षलेख फ़ाइलें सही लक्ष्य के लिए प्रत्येक शीर्षलेख का उपयोग कैसे करें?
मेरे पास दो अलग-अलग निर्देशिका IRL में हेडर फ़ाइलें हैं I उनका नाम वही है, लेकिन दो अलग-अलग स्थानों में हैं।
मैं केवल प्रत्येक लक्ष्य के लिए प्रासंगिक शीर्षलेख फ़ाइल शामिल करना चाहता हूं। आइए व्याख्या की आसानी के लिए कहें कि हेडर फ़ाइल को "Config.h" कहा जाता है।
तो मेरे पास है:
$ {PRODUCT_DIR} /Header1/Config.h
और
$ {PRODUCT_DIR} /Header2/Config.h
ये फ़ाइलें एक्सकोड के एलएचएस में और साथ ही दो अलग-अलग समूहों में दिखाई देती हैं (हेड आर 1 और हेडर 2 जो आईआरएल फ़ोल्डरों को इंगित करते हैं)।
तो अब मुझे बस इतना करना है कि प्रत्येक लक्ष्य के लिए एक्सकोड सही फ़ोल्डर से सही चुनें।
Target1
और
target2
मैं प्रत्येक लक्ष्य के लिए User Header Search Paths
के लिए पथ को जोड़ने की कोशिश की है, लेकिन इसकी अभी भी गलत एक को चुनने। मैंने "हमेशा उपयोगकर्ता पथ खोजें" को टॉगलिंग करने का भी प्रयास किया है, जो कि प्रभाव नहीं लग रहा है।
तो मेरा सवाल यह है, क्योंकि यह परियोजना निर्देशिका में है? या ऐसा इसलिए है क्योंकि वे एलएचएस पर फ़ाइल मैनेजर में एक्सकोड में हैं, इसलिए एक्सकोड उन्हें बिल्ड फ़ोल्डर में कॉपी कर रहा है?
अजीब बात यह अंतिम नाम वर्णानुक्रम के साथ फ़ोल्डर से हेडर फाइल को चुनने किया जा रहा है है ...
Xcode के पिछले संस्करणों में मुझे यकीन है कि आप जो हेडर निर्माण में कॉपी करने के लिए चुन सकते हैं कर रहा हूँ फ़ोल्डर।
वैसे भी .. क्या कोई जानता है कि मैं इसे कैसे ठीक कर सकता हूं ताकि मैं लक्ष्य के लिए उचित हेडर फ़ाइल का चयन कर सकूं?
बहुत धन्यवाद।
मुझे यकीन नहीं है लेकिन सशर्त आयात के बारे में क्या? –
यह बैक अप प्लान है। :) लेकिन यह इस तरह से एक लोड अधिक कदम जोड़ देगा। मुझे यकीन है कि यह संभव होना चाहिए। –
1. दरअसल मैं समझ नहीं पा रहा हूं कि आपको "शीर्षलेख खोज पथ" के साथ समस्या क्यों है। प्रोजेक्ट से इन हेडर को बाहर करने का प्रयास करें और "**" रिकर्सिव खोज पथ का उपयोग न करें। 2. आमतौर पर मैं "ifdef else" के साथ अलग "शामिल" का उपयोग करता हूं। तो आप किसी भी लक्ष्य को किसी भी लक्ष्य में जोड़ सकते हैं और यह जांच कर सकते हैं कि आपको क्या शामिल करना है (उदा: "ifdef target1 #include" header1.h "और # शामिल करें" header2.h "endif;)। तो यह आपकी आवश्यकताओं पर निर्भर करता है। – Jlexyc