2016-04-05 8 views
5

मेरे पास एक लाइब्रेरी प्रोजेक्ट है जो एक्सकोड 7.2 में बस ठीक बनाने के लिए उपयोग किया जाता है। अगर मैंने इसे अभी संकलित किया है, तो यह इसे बाद के निर्माण पर पुनर्निर्माण करेगा। एक्सकोड 7.3 में अपग्रेड करने के बाद, एक्सकोड प्रत्येक बिल्ड पर सभी फाइलों को पुन: संकलित करता है भले ही मैं किसी भी फाइल में कोई बदलाव नहीं करता।एक्सकोड 7.3 लाइब्रेरी प्रोजेक्ट हर बार संकलित करता है

मैंने गहराई से साफ किया और यह सुनिश्चित करने के लिए व्युत्पन्न डेटा फ़ोल्डर भी हटा दिया कि कारण नहीं था। जब मैं उन्हें स्वतंत्र रूप से संकलित करता हूं तो आश्रित लाइब्रेरी प्रोजेक्ट ठीक बनाते हैं (वे सबकुछ पुन: संकलित नहीं करते हैं)। मैंने सभी सेटिंग्स को देखा है लेकिन यह नहीं पता कि यह क्यों हो रहा है।

मैं 2 बातें पर ठोकर खाई है कि समस्या "निर्धारित" लेकिन मैं इन "समाधान"

  1. के किसी भी उपयोग करने के लिए मैं अनुकूलन स्तर से कोई नहीं [-O0 (LLVM के लिए) बदल नहीं करना चाहते ] सबसे तेज़, सबसे छोटे [-ओएस] और यह चाल है। मुझे यकीन नहीं है कि क्यों ऑप्टिमाइज़ेशन के बिना यह सभी फ़ाइलों को फिर से संकलित करता है, हर समय (भले ही यह बदला नहीं गया हो)।

  2. मैं एक पूर्व प्रोसेसर झंडा है (डीबग = 1) डिबग के लिए बनाता है और यदि मैं उस ध्वज को दूर तो यह सभी फाइलों को फिर कंपाइल बंद हो जाता है, हर समय

ऊपर 2 विकल्प डॉन ' मेरे लिए काम नहीं करते।

क्या किसी ने भी इसी तरह के व्यवहार को देखा है?

उत्तर

14

मुझे समस्या का पता चला। एक्सकोड में बिल्ड सेटिंग्स में से एक सही ढंग से सेट नहीं किया गया था।

"सी भाषा बोली" को "कंपाइलर डिफ़ॉल्ट" के बजाय "जीएनयू 99" पर सेट किया गया था। पहले मानक जीएनयू 99 था लेकिन अब यह नहीं है। किसी बिंदु पर एक्सकोड लाइब्रेरी प्रोजेक्ट सेटिंग्स को सही ढंग से माइग्रेट नहीं करता था और इसलिए इसे जीएनयू 99 पर सेट किया गया था। एक बार जब मैंने इसे जीएनयू 99 में बदल दिया तो यह हर बार मेरे सभी कोड को दोबारा बदलना बंद कर दिया!

+1

यह अब विकास के समय के सचमुच घंटे बचाएगा। धन्यवाद! – AJ9

+0

प्रत्येक एक्सकोड अपग्रेड कुछ कारणों से इस सेटिंग को जीएनयू 99 पर सेट करने लगता है, इसलिए एक्सकोड अपग्रेड – RPM

+1

के बाद इस सेटिंग को जांचना सुनिश्चित करें! धन्यवाद! आपने मुझे अपने कंप्यूटर को दुर्घटनाग्रस्त होने से रोका –

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