2013-01-10 42 views
5

के साथ सीसीएच का उपयोग करना क्या सी ++ बिल्ड समय को बेहतर बनाने के लिए एक्सकोड 4 के साथ सीसीएच का उपयोग करने का कोई तरीका है?एक्सकोड 4

पर्यावरण चर का उपयोग करके मैंने सीसी और सीईसी को सीसीएसी पर सेट किया है, लेकिन बिल्ड विफल रहता है क्योंकि सीसीएसी एक्सकोड 4 आउटपुट के कुछ पैरामीटर को पहचान नहीं पाता है।

+0

आप पहली जगह 'ccache' का उपयोग क्यों करना चाहते हैं? डिफ़ॉल्ट रूप से एक्सकोड 'ccache' करता है जिस तरह से काम करता है; यह केवल उन फ़ाइलों को फिर से संकलित करेगा जो पिछली बार संकलित करते समय बदल गए हैं (जब तक कि आप बिल्ड सेटिंग बनाने या बदलने से पहले प्रोजेक्ट को साफ़ नहीं करते)। इस प्रकार मुझे संदेह है कि आप एक्सकोड में 'सीसीएसीएच' का उपयोग करके कोई भी गति-अप देखेंगे। – Mecki

+2

@ मेकी, एक्सकोड बिल्ड उत्पाद को कैश नहीं करता है। जैसे यदि आप शाखाओं के बीच स्विच करते हैं, तो एक्सकोड बहुत सारी फाइलों को फिर से संकलित करेगा, यह पहले ही संकलित हो चुका है। इस मामले में सीसीएसी बड़े पैमाने पर संकलन के समय में सुधार करेगा। – timblechmann

उत्तर

0

This answer एक तकनीक जहां ccache Xcode प्रोजेक्ट में CC और CXX उपयोगकर्ता-निर्धारित वेरिएबल सेट करके Xcode के साथ इस्तेमाल किया जा सकता को दर्शाता है। वह विशेष जवाब एक्सकोड प्रोजेक्ट फ़ाइलों को बनाने के लिए सीएमके का उपयोग कर रहा था, लेकिन वही सिद्धांत मैन्युअल रूप से बनाए गए एक्सकोड प्रोजेक्ट पर लागू होता है। CC और CXX वेरिएबल्स प्रयुक्त कंपाइलर को ओवरराइड की तरह कार्य करते हैं, इसलिए उन्हें एक रैपर स्क्रिप्ट पर डालना जो संकलक के साथ सीसीएच को आमंत्रित करता है जिसे आप वांछित कार्यक्षमता प्राप्त करना चाहते हैं। ध्यान दें कि मैंने केवल एक्सकोड 7 के साथ इसका परीक्षण किया है, लेकिन मुझे उम्मीद है कि पुराने संस्करण शायद काम भी करेंगे। पीटर स्टीनबर्गर द्वारा This article भी सीएमके का उपयोग किए बिना आवश्यक कार्यक्षमता को कवर करता है, लेकिन यह CC और CXX एक्सकोड प्रोजेक्ट चर सेट करने की एक ही तकनीक का उपयोग करता है।