2016-03-31 3 views
18

Xcode में, हम, सेटिंग बिल्ड में कई रास्ते कॉन्फ़िगर करने के लिए की तुलना में हम $ (SRCROOT) के साथ सौदा होगा और $ (PROJECT_DIR), लेकिन क्या उन दोनों के बीच अंतर है, क्या आप मुझे एक दिखा सकते है उदाहरण, बहुत कुछ था।SRCROOT और PROJECT_DIR के बीच क्या अंतर है?

उत्तर

9

व्यवहार में विनिमेय, जबकि प्रलेखन इन सूक्ष्म सैद्धांतिक भेद बनाता है:

  1. SRCROOT

    निर्देशिका पथ। लक्ष्य की स्रोत फ़ाइलों वाली निर्देशिका की पहचान करता है: प्रोजेक्ट फ़ाइल का पथ है जो लक्ष्य को परिभाषित करता है।

    SOURCE_ROOTSRCROOT

  2. PROJECT_DIR
    करने के लिए एक गैर-दस्तावेजी उर्फ ​​परियोजना (.xcodeproj)
    $(PROJECT_DIR)/build के रूप में प्रयोग किया जाता है जिसमें निर्देशिका की पहचान करता है के लिए डिफ़ॉल्ट मान बनाएँ:

    • इंटरमीडिएट बिल्ड फाइल पथ OBJROOT
    • उत्पाद बिल्ड पथ SYMROOT

    आमतौर पर इन रास्तों लक्ष्य के आधार पर तय नहीं कर रहे हैं, लेकिन प्रति-परियोजना या प्रति-उपयोगकर्ता सेट कर रहे हैं।

  3. PROJECT_FILE_PATH
    इस परियोजना का पता लगाता है।
    समतुल्य $(PROJECT_DIR)/$(PROJECT_NAME).xcodeproj को

वैचारिक अलग (# 1 परियोजना जो लक्ष्य को परिभाषित करता है के बारे में है, जबकि # 2 परियोजना स्वतंत्र रूप से किसी भी लक्ष्य की के बारे में है), वे हमेशा एक ही स्थान पर ओर इशारा करते हैं चूंकि आप, संक्षेप में, हमेशा एक लक्ष्य बना रहे हैं।

संदर्भ

Xcode 8.3 Build Settings reference
Xcode Build System Guide (2016-09-29 सेवानिवृत्त)

5

SRCROOT & PROJECT_DIR समान मैक्रोज़ का एक ही प्रभाव है। फ्रेमवर्क के बारे में बात करते समय PROJECT_DIR अधिक समझ में आता है।

+0

मेरी जांच, $ (PROJECT_DIR) और $ (SRCROOT) में कुछ कर रहे हैं, दोनों परियोजना के रूट फ़ोल्डर हैं। – guojiubo

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