OSX / Xcode को अपग्रेड करना - विफलता को जोड़ना


3

सब,

मैंने XX 5.1 (उस OSX के लिए नवीनतम उपलब्ध) के साथ OSX 10.8 पर अपनी परियोजना शुरू की। सब कुछ निर्माण और ठीक चल रहा था और यह अभी भी है। परियोजना में द्विआधारी निष्पादन योग्य और द्वैब उप-परियोजनाओं के जोड़े शामिल हैं।

हाल ही में मैंने खुद का नया मैक लैपटॉप खरीदा है। मैंने इस पर एक्सकोड स्थापित किया (संस्करण 9), मेरे स्रोतों को गिट हब से खींचा और इसे फिर से संकलित / चलाने का प्रयास किया।

संकलन के लिए कुछ छोटी निर्देशिका जारी करने वालों को ठीक करने के बाद (कुछ हेडर खोज पथ गलत थे), मुझे एक चेतावनी मिली -L निर्देशिका नहीं मिली। हालांकि लिंकिंग सफल रही।

कार्यक्रम को चलाने की कोशिश में स्पष्ट रूप से विफल रहा क्योंकि dylib फ़ाइलें उस स्थान पर नहीं थीं जो Xcode इसके लिए देखेगा।

आगे देखते हुए मैंने यह देखने की कोशिश की कि क्या दोनों मशीनों के निर्माण परिणामों को संग्रहीत करने पर कोई मतभेद होगा। मैंने "Xcode-> प्रोजेक्ट गुण ..." मेनू खोला, लेकिन यह पता चलता है कि दोनों लैपटॉप पर वे सेटिंग्स समान हैं।

आगे मैंने दोनों मशीनों पर "Fie-> प्रोजेक्ट गुण ..." की जाँच की, लेकिन वे 2 भी समान हैं।

अब मैं घाटे में हूँ - मुझे और कहाँ देखना चाहिए? पुराना लैपटॉप चेतावनी के बिना सब कुछ बनाता है और कार्यक्रम सफलतापूर्वक निष्पादित होता है।

पुराने लैपटॉप पर उपप्रोजेक्ट ~ /// बिल्ड / डीबग के अंदर स्टोर किए जाते हैं।

नए लैपटॉप पर फ़ोल्डर ~ /// बिल्ड मौजूद नहीं है।

अब मैं मैन्युअल रूप से निर्देशिका बना सकता हूं और फ़ाइलों पर प्रतिलिपि बना सकता हूं, लेकिन कार्यक्रम अभी भी विकास के अधीन है और कोड बदल रहा है।

कोई भी संकेतक प्रशंसनीय होंगे।

TIA!

पुनश्च: लंबे पोस्ट के लिए क्षमा करें।

जवाबों:


1

कुछ हद तक असामान्य तरीके से हल करना:

a) आप दावा करते हैं कि " हालांकि लिंकिंग सफल रही है। ", इसलिए प्रोजेक्ट प्रॉपर्टीज में, उत्पाद फ़ोल्डर में जाएं, फिर उत्पाद नाम पर क्लिक करें। राइट-साइड फलक पर, पहचान और प्रकार के तहत , आपको उत्पाद का नाम और पूर्ण पथ स्थान मिलेगा। मेरी एक परियोजना के लिए अब मुझे पता चल सकता है:

~ / पुस्तकालय / डेवलपर / Xcode / DerivedData / prodname fnihcmsxnrxlstcumyviklyuofum / निर्माण / उत्पाद / डीबग / prodname

और एक स्थान विशेषता: उत्पादों का निर्माण करने के लिए सापेक्ष - बिल्ड फ़ोल्डर Xcode द्वारा बनाया गया था, आप प्रोजेक्ट गुणों में - "बिल्ड" - सेटिंग बनाएँ -> बिल्ड स्थान का भी पता लगा सकते हैं । (आप अपनी आवश्यकताओं के अनुसार भी संशोधित कर सकते हैं ...)

ख) अब आपकी अनुपलब्ध लाइब्रेरी के लिए: बिल्ड सेटिंग्स में भी -> आपको लिंकिंग से अपनी लाइब्रेरी को प्रीलिंक लाइब्रेरी में जोड़ने की संभावना है , बस इस आइटम के बाईं ओर क्लिक करें, नीचे दो लाइनें खुली हुई हैं, डीबग / रिलीज़ , एक लाइन पर क्लिक करें और एक छोटा + दिखाई देता है और वहां अपना पुस्तकालय जोड़ें।

संपादित करें: अनुरोध के अनुसार कुछ चित्र जोड़ना:

उत्पाद का चयन:

यहां छवि विवरण दर्ज करें

उत्पाद नाम पर क्लिक करें (चित्र पर आयत) और पूरा रास्ता दाहिने फलक पर इस चित्र में पाया जाना है:

यहां छवि विवरण दर्ज करें

अब, पहली तस्वीर में: एप्लीकेशन नेम आइकन पर क्लिक करें, बिल्डिंग की जानकारी खुलेगी। यहां दिखाए गए अनुसार भवन पथ (मार्ग) पाए जा सकते हैं:

यहां छवि विवरण दर्ज करें

और आगे स्क्रॉल करते हुए, लिंकिंग विकल्प जैसा कि यहां बताया गया है:

यहां छवि विवरण दर्ज करें


अंतिम Xcode संस्करण 10.1 है
Yoan

क्या आप कृपया इसका स्क्रीनशॉट कैसे पोस्ट कर सकते हैं? यह भी लगता है कि आप इसे डिफ़ॉल्ट स्थानों के आधार पर कर रहे हैं। और मेरे पुराने लैपटॉप में यह प्रतीत होता है कि मैंने सभी पुस्तकालयों के लिए स्थान बदल दिया है, जो कि मैं वरीस्पेस में है (विंडोज़ शब्दावली का उपयोग करने के लिए खेद है)। लेकिन जब मैं जाता हूं और देखता हूं तो यह इस तरह नहीं दिखता है। और इसलिए यह नए मैक पर नहीं गया।
इगोर

लंबे समय तक देरी के लिए खेद है, मैं अभी सत्यापित और अजीब हूं क्योंकि यह हर एक परियोजना है (या तो द्विआधारी या डायलिब) और पथ समान हैं। फिर भी, जब मैं इस परियोजना को संकलित करने की कोशिश करता हूं तो यह कहता है कि डायलिब नहीं मिला है। और पुरानी मशीन पर संकलन ठीक काम कर रहा है। मैं यह सब नहीं समझता। क्या जाँच करने के लिए कुछ और है जो अलग हो सकता है? कुछ जिसे प्रति प्रोजेक्ट बदला जा सकता है और किसी दूसरी मशीन में स्थानांतरित नहीं किया जाता है?
इगोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.