2009-11-05 22 views
5

मैंने एक्सकोड का उपयोग शुरू कर दिया है और यह काम करता है, ठीक है, इसमें से अधिकांश।मैं हर समय xcode संकलन कैसे ठीक कर सकता हूं?

कष्टप्रद बात यह सब स्रोत फ़ाइलें, यहां तक ​​कि उन है कि हर बार परिवर्तन नहीं किया, संकलित है।

मैं openframeworks के साथ पकड़ हो रही है और मैं समय बर्बाद openframeworks स्रोत संकलन हर बार हालांकि वे परिवर्तन नहीं करते फ़ाइलें।

XCode संस्करण 3.1.2 घटक संस्करणों Xcode IDE: 1149.0 Xcode कोर: 1148.0 ToolSupport: 1102,0

मैक ओएस एक्स संस्करण 10.5

यहाँ मेरी आईडीई और मशीन विवरण दिए गए हैं। 6

किसी भी एक ही समस्या का सामना करना है? कोई कामकाज?

+0

एक प्रोग्रामिंग सवाल इस बात का अधिक। – ChrisF

उत्तर

3

कई (सबसे?) का निर्माण प्रणाली एक रखता प्रदर्शन किए जाने की जरूरत है कि क्या यह निर्धारित करने के लिए फ़ाइलों के अंतिम संशोधित दिनांक और समय का उपयोग करें। मैं पहले सत्यापित करता हूं कि फ़ाइल तिथियां अपेक्षित व्यवहार कर रही हैं; यदि फाइलें नेटवर्क ड्राइव पर हैं, उदाहरण के लिए, अलग-अलग समय सेटिंग्स या घड़ी विसंगतियां हो सकती हैं जो यह दिखाई देगी कि फ़ाइलों को भविष्य में संशोधित किया गया था, इसलिए बिल्ड सिस्टम हमेशा उन्हें संकलित करता है। उस मामले के लिए, यदि वे किसी नेटवर्क ड्राइव पर हैं, तो प्रोटोकॉल में संशोधित दिनांक शामिल नहीं हो सकता है, और सिस्टम बस इसे "अब" पर डिफ़ॉल्ट करता है, इसलिए ऐसा लगता है कि प्रत्येक फ़ाइल को अभी संशोधित किया गया था।

+0

धन्यवाद qid, यह मुद्दा प्रतीत होता था! पता नहीं क्यों यह मेरे दिमाग को पार नहीं किया है। –

0

मेरा अनुभव यह सामान है कि बदल गया है और सामान है कि सामान है कि बदल गया है पर निर्भर करता है recompiles है। तो यदि आप एक .h फ़ाइल संपादित कर रहे हैं जो #import 'डी को हर दूसरी फ़ाइल में प्राप्त करता है, तो स्वाभाविक रूप से सबकुछ पुनः प्राप्त करने की आवश्यकता होगी। हालांकि, अगर आप केवल एक .m फ़ाइल संपादित कर रहे हैं, तो केवल .m को पुनः संयोजित किया जाना चाहिए। मुझे किसी भी एक्सकोड सेटिंग से अनजान है जो इस व्यवहार को बदल देगा।

9

आप कुछ फ़ाइलों को बचाया, तो ऑपरेटिंग सिस्टम पिछड़े अपने सिस्टम का समय सिंक्रनाइज़ कर दिया है। उन फ़ाइलों को अब भविष्य में संशोधित करने के लिए पता चला है। आप अपने प्रोजेक्ट मुख्य फ़ोल्डर में बैश आदेश के बाद अमल करना चाहिए:

find . -exec touch {} \; 
+1

'टच' कन्न एकाधिक फ़ाइलों के साथ प्रयोग किया जा सकता है, इसलिए '\ '' के बजाय '+' भी काम करेगा। – kay

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