हम कैसे एक्सपीसी 4 को पीपीसी / पीपीसी 64 और साथ ही पूर्ण 10.4 / 10.5 एसडीके समर्थन बहाल कर सकते हैं?


93

चूंकि Apple Xcode4 के साथ केवल SDK 10.6 को शिप करता है, Xcode4 के साथ PPC एप्लिकेशन विकसित करना असंभव हो गया। हालांकि Xcode4 के साथ अनुप्रयोगों को विकसित करना संभव है, जो 10.5 पर भी चल सकता है और शायद 10.4 सिस्टम पर भी (एसडीके 10.6 का चयन करके, लेकिन तैनाती लक्ष्य 10.5 या 10.4 को चुनकर), वे केवल Intel Mac पर ही चलेंगे क्योंकि आपको कम से कम SD 10.5 की आवश्यकता है पीपीसी अनुप्रयोगों का निर्माण।

इसके अलावा कुछ दुर्लभ मामले भी हैं, जहाँ आपको पूर्ण प्लेटफ़ॉर्म समर्थन के लिए 10.6 से पहले एसडीके के खिलाफ निर्माण करने की आवश्यकता होती है, उदाहरण के लिए यदि कुछ पदावनत कार्यक्षमता 10.6 एसडीके से पूरी तरह से गायब हो गई है, लेकिन आपको इसका उपयोग करना होगा और डायनेमिक लिंकिंग नहीं है। उन मामलों में हमेशा सबसे अच्छा विकल्प। पहले के एसडीके के खिलाफ लिंक करने से कभी-कभी विकास में आसानी होगी क्योंकि आप उपयोग करने वाली कार्यक्षमता के रूप में नहीं हैं, क्योंकि यह पहले के ओएस संस्करणों के लिए असंगति का कारण होगा, उपलब्ध नहीं होगा और किसी भी तरह इसका उपयोग करने का प्रयास तुरंत कंपाइलर या लिंकर त्रुटियों की ओर जाता है।

अंतिम लेकिन कम से कम Apple ने Xcode4 से GCC 4.0 समर्थन को भी नहीं हटाया है, जो कि कुछ सॉफ्टवेयर को सही ढंग से बनाने के लिए आवश्यक हो सकता है और Apple ने कभी SDK 10.4 का उपयोग करते समय GCC 4.2 के साथ सॉफ़्टवेयर संकलित करने की अनुमति नहीं दी है, हालांकि मुझे शायद ही विश्वास है कि यह वास्तव में कारण होगा किसी भी मुद्दे के बाद, GCC 4.2 और SDK 10.6 के साथ बनाए गए सभी सॉफ्टवेयर मैक ओएस 10.4 पर भी चल सकते हैं, जब तक कि कोई भी मुद्दा लागू किए बिना तैनाती लक्ष्य को सही ढंग से सेट किया गया हो और MacOS 10.4 के तहत अनुपलब्ध कोई कार्यक्षमता का उपयोग नहीं किया गया हो।

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

क्या हम इस कार्यक्षमता को Xcode4 में पुनर्स्थापित कर सकते हैं?

जवाबों:


111

त्वरित उत्तर है: हाँ, हम कर सकते हैं!

इससे पहले कि मैं " यह कैसे किया जाता है " भाग में मिलता है, यहाँ मेरे पैच / हैक / फिक्स के बारे में कुछ नोट्स हैं। शुरू से ही प्रमुख लक्ष्य रहे हैं:

  1. सभी संशोधनों को एक पूर्ण न्यूनतम पर रखें।
    हम Xcode सेटअप को यथासंभव मूल रखना चाहते हैं।

  2. हर तरह से, किसी भी फाइल को पैच करने या संशोधित करने से बचने की कोशिश करें।
    हम चाहते हैं कि सभी फाइलें अछूती रहें और उनकी मूल सामग्री बनी रहे।

  3. जब तक बिल्कुल आवश्यक न हो, फाइलों को इधर-उधर ले जाने या कॉपी करने से बचने की कोशिश करें।

मैं उन सभी लक्ष्यों को रखने में सक्षम था। लगभग हर चीज सिमिलिंक बनाकर की जाती है। केवल एक मौजूदा सिमलिंक को प्रतिस्थापित किया जाना था और हम इसे प्रतिस्थापन से पहले वापस कर देंगे, बस मामले में।

यदि आप टर्मिनल संचालन के विशेषज्ञ नहीं हैं, तो मैं आपको दृढ़ता से सलाह देता हूं कि आप टाइप करने से बचने के लिए अपने उत्तर से अपने टर्मिनल पर सभी टर्मिनल कमांड को कॉपी / पेस्ट करें। ध्यान रखें कि रिक्ति, उद्धरण और विशेष रूप से पूंजीकरण भी महत्वपूर्ण हो सकता है। उन्हें लाइन से कॉपी / पेस्ट करें, कभी भी एक बार में एक से अधिक लाइन न डालें और कमांड को निष्पादित करने के लिए प्रत्येक चिपकाई गई पंक्ति के बाद वापसी करें। क्या किसी भी ऑपरेशन में आपको पासवर्ड के लिए संकेत देना चाहिए, यह वर्तमान में व्यवस्थापक उपयोगकर्ता में लॉग इन किया गया पासवर्ड होगा (टाइप करते समय आपके कीस्ट्रोक्स प्रदर्शित नहीं होते हैं, यह सामान्य है, चिंता न करें, बस पासवर्ड टाइप करें और वापस लौटें; -यदि आप एक टाइपो था और फिर से प्रेरित हो जाओ)।

शर्त

शुरू करने से पहले, सुनिश्चित करें कि निम्नलिखित स्थितियाँ सत्य हैं:

  • आप एक व्यवस्थापक उपयोगकर्ता के रूप में लॉग इन हैं।
  • आपने Terminal.app (एप्लिकेशन / उपयोगिताएँ) शुरू कर दिया है और एक टर्मिनल विंडो खुली है।
  • आपके पास Xcode3 (जैसे 3.2.5) और Xcode4 डिस्क छवि (DMG) या इंस्टॉलर की एक प्रति उपलब्ध है।
  • यदि आपके पास पहले से ही Xcode संस्करण स्थापित है , तो पहले इसे अनइंस्टॉल करने पर विचार करें , ताकि आप एक नए / स्वच्छ सेटअप के साथ शुरुआत कर सकें। Xcode को अनइंस्टॉल करने से आपकी प्राथमिकताएं, रंग योजना या कुंजी बंधन अनुकूलन नहीं हटेंगे। आदर्श रूप से आप एक ऐसे सिस्टम से शुरू करेंगे जिसका कोई Xcode संस्करण नहीं है (न तो 3 और न ही 4) वर्तमान में स्थापित है।

चरण 1: Xcode3 स्थापित करना

महत्वपूर्ण : Xcode3 के " सिस्टम टूल्स " या " यूनिक्स डेवलपमेंट " पैकेज को स्थापित न करें।
आप " मैक ओएस एक्स 10.4 एसडीके " और / या " डॉक्यूमेंटेशन " स्थापित करना चाहते हैं या नहीं । अगर वह iOS SDKs के साथ Xcode3 है, तो आप उन्हें इंस्टॉल करते हैं या नहीं, यह भी आप पर निर्भर है।

आप अपनी स्थापना के लिए कोई भी गंतव्य फ़ोल्डर चुनने के लिए स्वतंत्र हैं। इस गाइड के लिए मैंने " / Xcode3 " चुना है, लेकिन एक अलग लेने के लिए स्वतंत्र महसूस करें। बस तदनुसार सभी टर्मिनल कमांड को बदलना सुनिश्चित करें।

यहां दिए गए चरणों का क्रम आमतौर पर महत्वपूर्ण नहीं है, लेकिन मैं आपको दृढ़ता से सलाह देता हूं कि आप चरण 1 और चरण 2 को स्वैप न करें। Xcode हमेशा चयनित गंतव्य फ़ोल्डर के बाहर कुछ फ़ाइलों को स्थापित करता है और मुझ पर विश्वास करता है, अंत में आप चाहते हैं आपकी डिस्क पर उन फ़ाइलों के Xcode4 संस्करण। Xcode4 से पहले Xcode3 को स्थापित करके, आप यह सुनिश्चित कर सकते हैं कि यदि आवश्यक हो तो Xcode4 उन फ़ाइलों को अधिलेखित कर देगा। मैंने एक बार चरण 1 और 2 को स्वैप किया था और अंत में मेरे पास कुछ अजीब मुद्दे थे जो गलत क्रम से संबंधित हो सकते हैं (मैं निश्चित रूप से नहीं कह सकता, लेकिन सही क्रम में पुनः स्थापित होने के बाद मुद्दे समाप्त हो गए थे)।

चरण 2: Xcode4 स्थापित करना

आपको जो भी पैकेट पसंद हो उसे चुन लें। " सिस्टम टूल " को स्थापित करना उचित है, लेकिन सख्ती से आवश्यक नहीं है (हालांकि अधिकांश लोग जल्दी या बाद में उस कार्यक्षमता को याद करेंगे)।

फिर से, किसी भी लक्ष्य फ़ोल्डर को पसंद करने के लिए स्वतंत्र महसूस करें। इस गाइड के लिए मैंने सामान्य लक्ष्य फ़ोल्डर " / डेवलपर " चुना, यदि आप एक अलग लेते हैं, तो तदनुसार सभी टर्मिनल कमांड को बदल दें।

चरण 3: 10.4 / 10.5 एसडीके समर्थन बहाल करना

अपनी टर्मिनल विंडो में स्विच करें और निम्न कमांड चलाएं:

सीडी / डेवलपर / एसडीके
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk

यदि आप चरण 1 में एसडीके 10.4 भी स्थापित करते हैं, तो केवल 10.4u के लिए ही कमांड चलाएं।

यह SDKs 10.5 (और संभवतः 10.4) को Xcode4 में चयन सूची में वापस लाने के लिए पर्याप्त है। अगर आपको पसंद है तो इसे आजमाएं। आग Xcode4, एक परियोजना खोलें, चयनित SDK को बदलने का प्रयास करें। यह आसान था, हुह? अगले चरण के साथ आगे बढ़ने से पहले फिर से Xcode4 (एप्लिकेशन, न केवल विंडो) को बंद करना सुनिश्चित करें।

चरण 4: जीसीसी 4.0 समर्थन को बहाल करना

यदि आपने MacOS 10.4 SDK स्थापित नहीं किया है या यदि आपने कभी इसका उपयोग करने की योजना नहीं बनाई है, तो आप सुरक्षित रूप से इस चरण को छोड़ सकते हैं और चरण 5 के साथ आगे बढ़ सकते हैं।

एसडीके 10.4 का उपयोग करने के लिए, आपको जीसीसी 4.0 का उपयोग करना होगा, जीसीसी 4.2 काम नहीं करेगा। Apple का दावा है कि GCC 4.2 SDK 10.4 के साथ संगत नहीं है, यदि आप मुझसे पूछें तो यह एक धोखा है। मैंने पहले ही इस सीमाओं को एक से अधिक बार लिख लिया है और इसके कारण कभी भी सबसे अधिक समस्या नहीं थी। एसडीके 10.4 को संशोधित करना आसान होगा ताकि एक्सकोड आपको इसके लिए जीसीसी 4.2 का उपयोग करने की अनुमति देगा, लेकिन मेरा लक्ष्य सभी फ़ाइल संशोधनों से बचना था, इसलिए हम सिर्फ एक्सकोड में जीसीसी 4.0 समर्थन वापस जोड़ते हैं, जो एक अच्छी बात भी है, क्योंकि कुछ परियोजनाएं वास्तव में जीसीसी 4.0 पर निर्भर करती हैं (जैसे कि जीसीसी 4.2 में कुछ बग हैं जो त्रुटियों के बिना संकलन करने के लिए वैध इनलाइन विधानसभा कोड को रोकते हैं, जबकि समान कोड जीसीसी 4.0 और जीसीसी 4.4 पर त्रुटिपूर्ण संकलन करता है)।

वापस टर्मिनल पर:

सीडी / डेवलपर / usr / बिन
sudo ln -s /Xcode3/usr/bin/*4.0*

cd / Developer / usr / libexec / gcc / powerpc-apple-darwin10
sudo ln -s /Xcode3/usr/libexec/gcc/powerpc-apple-darwin10/4.0.1।

अभी हमने इस तथ्य को छोड़कर पूर्ण GCC 4.0 समर्थन को बहाल किया है कि अभी भी GCC 4.0 Xcode4 में चयन करने योग्य नहीं है। ऐसा इसलिए है क्योंकि Xcode4 में अब कोई GCC 4.0 कंपाइलर प्लग-इन नहीं है। सौभाग्य से Xcode3 प्लग-इन भी Xcode4 में काम करता है, केवल स्थिति मौलिक रूप से बदल गई है। Apple अब उन प्लग-इन को एक बंडल के भीतर छिपाता है और केवल प्लग-इन काम करने लगता है, उन्हें उनकी पुरानी स्थिति में रखने से कोई प्रभाव नहीं पड़ता है।

सीडी / डेवलपर / पुस्तकालय / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Contents / SharedSupport / Developer / Library / Xcode / प्लग-इन
sudo ln -s "/ Xcode3 / लाइब्रेरी / Xcode / प्लग-इन / GCC 4.0.xcplugin"

अब फिर से Xcode4 फायर करें, एक प्रोजेक्ट खोलें और कंपाइलर का चयन करने का प्रयास करें। आपके पास सूची में जीसीसी 4.0 वापस होना चाहिए। अब आप वास्तव में पहले से ही एसडीके 10.4 या 10.5, जीसीसी 4.0 का चयन कर सकते हैं और आपके पास पीपीसी बाइनरी बनाने के लिए कोई समस्या नहीं होनी चाहिए। बस " आर्किटेक्चर " बिल्ड सेटिंग के लिए " अन्य ... " का चयन करें और मैन्युअल रूप से " पीपीसी " दर्ज करें , फिर " मान्य आर्किटेक्चर " को बदलकर " पीपीसी " भी शामिल करें । हम लगभग पूरे हो चुके हैं, सिवाय इसके कि जीसीसी 4.2 और एसडीके 10.5 का उपयोग करके पीपीसी बाइनरी बनाने की कोशिश अभी भी विफल रहेगी।

चरण 5: जीसीसी 4.2 के लिए पीपीसी समर्थन बहाल करना

चूंकि Apple केवल Xcode4 में इंटेल प्लेटफॉर्म का समर्थन कर रहा है, इसलिए सभी GCC 4.2 उपकरण पीपीसी समर्थन के साथ नहीं बनाए गए हैं। एक महत्वपूर्ण उपकरण है जिसका कोई पीपीसी समर्थन नहीं है, उपकरण को " जैसा " नाम दिया गया है और यह जीएनयू असेंबलर है। PCC / ppc64 बायनेरिज़ को GCC 4.2 के साथ संकलित करने के लिए हमें ppc / ppc64 सपोर्ट के साथ " as " संस्करण का उपयोग करने की आवश्यकता है । यह एक और केवल एक फ़ाइल है (वास्तव में यह एक सिम्लिंक भी है) हमें सिम्लिंक को बदलने से पहले हमें एक तरफ ले जाना होगा (बैकअप कॉपी बनाना होगा):

cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.1.1
sudo mv as.bak
sudo ln -s / Xcode3 / usr / bin / as।

चरण 6: कोई चरण 6 नहीं है

बस आज के लिए इतना ही। यह देखते हुए कि यह कितना आसान था, आप कल्पना कर सकते हैं कि Apple ने निश्चित रूप से SDK 10.4 / 10.5 या ppc / ppc64 या GCC 4.0 का समर्थन नहीं किया है क्योंकि यह एक आवश्यकता थी, उन्होंने वह सब गिरा दिया क्योंकि वे इसे गिराना चाहते थे।

मुझे उम्मीद है कि यह सेटअप आपके लिए भी उतना ही कारगर होगा जितना यह मेरे लिए करता है। मैं Xcode4 में अपनी सभी पुरानी परियोजनाओं को बिना किसी बड़े बदलाव के संकलित करने में सक्षम रहा हूं, सिवाय इसके कि यहां और वहां एक खोज पथ को बदलने के लिए।

पुनश्च:
यह अजीब लग सकता है कि मैं अपने स्वयं के प्रश्न का उत्तर देता हूं, लेकिन जब से मुझे पता चला है कि इस समस्या को कैसे हल किया जाए, मैं अपने ज्ञान को समुदाय के साथ साझा करना चाहता हूं, क्योंकि मेरा मानना ​​है कि यह वास्तव में मूल्यवान इनपुट है सभी MacOS डेवलपर्स वहाँ से बाहर। यह सवाल इतनी सारी जगहों पर इतनी बार पूछा जा चुका है और अभी तक मैंने कभी किसी को एक समान फिक्स के साथ आते नहीं देखा। धन साझा करें, ज्ञान फैलाएं और इसी तरह, आप जानते हैं कि मेरा क्या मतलब है।


यदि आप अभी भी समस्याएँ / प्रश्न हैं:

यदि आपके पास इस विषय के बारे में अतिरिक्त प्रश्न हैं या यदि आपको अभी भी अपनी पुरानी परियोजनाओं को सही ढंग से बनाने की समस्या है, तो कृपया उस स्टैक ओवरफ्लो के लिए क्या डिज़ाइन किया गया है: इस पृष्ठ के ऊपरी दाएं कोने में "प्रश्न पूछें" पर क्लिक करें और एक नया प्रश्न बनाएं । इस तरह से पूरा समुदाय आपको उन मुद्दों को हल करने में मदद कर सकता है, क्योंकि मुद्दे सीधे (शायद अप्रत्यक्ष रूप से भी नहीं) इस हैक से संबंधित हो सकते हैं।

मैं आपको इस तथ्य का उल्लेख करने की सलाह दूंगा कि आपने इस हैक को अपने प्रश्न की शुरुआत में लागू किया था। हो सकता है कि आप भी सीधे इस प्रश्न से लिंक करना चाहते हों, ताकि लोग, जिन्होंने कभी इस हैक के बारे में नहीं सुना, वे इसे आसानी से देख सकें। अन्यथा ज्यादातर लोग Xcode4 के संयोजन में SDK 10.4 / 10.5, PPC या GCC 4.0 का उल्लेख करते समय अधिक भ्रमित हो जाएंगे, जो आधिकारिक तौर पर इनमें से किसी का भी समर्थन नहीं करता है। यदि आप इस हैक का उल्लेख करना भूल जाते हैं, तो आपको सभ्य उत्तरों के बजाय बेवकूफ टिप्पणियां मिल सकती हैं।

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

बेशक मूल सवाल का अन्य प्रकार की टिप्पणियों के साथ-साथ बेहतर जवाब हमेशा स्वागत है ;-)


6
यहाँ एक उत्थान है। मैं शायद पुराने SDKs और कंपाइलर फ़ाइलों को कॉपी करूँगा, बजाय इसके कि उन्हें केवल सहानुभूति देने के लिए बाकी Xcode3 की स्थापना रद्द करने में सक्षम हो। इसलिए नहीं कि मुझे Xcode4 बहुत पसंद है; केवल इसलिए कि मुझे डिस्क स्थान की आवश्यकता है। धन्यवाद!
इवान वुज़िका

मैं यह काम करने के लिए नहीं मिल सकता। कृपया मेरा एसओ प्रश्न देखें: stackoverflow.com/questions/5409860/…
paleozogt

इसके अतिरिक्त, i686 लक्ष्यों के लिए gcc 4.0 भवन प्राप्त करने के लिए, मुझे निम्नलिखित कार्य करने थे: sudo ln -s /Xcode3/usr/libexec/gcc/i686-apple-darwin810/4.0.1 / Developer / usr / libexec / gcc / i686-apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.0.1// डेवलपर / usr / lib / gcc / i686-686 Apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.1.1// usr / lib / gcc / i686-apple-darwin10 /
मार्क केरी

2
इस पंक्ति for SRC_FILE in /Xcode3/usr/bin/*4.0*; do sudo ln -s "$SRC_FILE" .; doneको सरल बनाया जा सकता हैsudo ln -s /Xcode3/usr/bin/*4.0* .
एडम रोसेनफील्ड

1
@cullub डेवलपर. apple.com पर जाएं , अपने देव आईडी के साथ लॉग इन करें, "एसडीके" चुनें, नीचे स्क्रॉल करें और "Xcode" चुनें, "डाउनलोड करें" चुनें, नीचे स्क्रॉल करें और "अतिरिक्त उपकरण" चुनें, "Xcode 3" खोजें खोज क्षेत्र में।
मकी

15

केवल Xcode4 के साथ एक और आसान तरीका, Xcode3 की अब आवश्यकता नहीं है।

$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin

संपादन:

Xcode 4.1 के लिए,

sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/powerpc-apple-darwin10 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc

आप केवल GPC के लिए gcc-4.2 का उपयोग कर सकते हैं। और "-isysroot /Developer/SDKs/MacOSX10.6.sdk" विकल्प की आवश्यकता है, क्योंकि 10.7 SDK पावरपीसी का समर्थन नहीं करता है।


3
LOL, इसलिए Apple iOS संकलक में PPC का समर्थन करता है :-P हालाँकि, आपको शायद ध्यान देना चाहिए, कि यह केवल PPC संगतता को पुनर्स्थापित करेगा, लेकिन यह SDKs या GCC4.0 समर्थन को पुनर्स्थापित नहीं करेगा। फिर भी एक मूल्य है।
मीकी

ऊपर से बहुत हैकिश और सरल, पूर्ण न्यूनतम आवश्यक।
दिविज

Xcode 4.1 पर PowerPC टूलचैन सक्षम करें । gcc-4.2 केवल। इसके लिए "-isysroot /Developer/SDKs/MacOSX10.6.sdk" विकल्प की आवश्यकता है, क्योंकि 10.7 SDK में PowerPC के लिए हेडर नहीं हैं।
कज़ुकी सकामोटो

stackoverflow.com/questions/11989007 10.6 एसडीके प्राप्त करने के लिए प्रासंगिक है। यानी यह Xcode 4.1 में है
fommil

8

मैंने इस पृष्ठ, मैक ओएस एक्स संकेत, splhack.org, और अन्य स्रोतों का हवाला देते हुए सारी जानकारी एक साथ इकट्ठा की है, और साथ में BASH स्क्रिप्ट का एक सेट भी रखा है जो PPC और GCC 4.0 समर्थन को पुनर्स्थापित करने की प्रक्रिया को स्वचालित करता है या तो एक का उपयोग करके XCode 3 स्थापना या सिर्फ XCode 4 की अपनी iPhone प्लेटफ़ॉर्म फ़ाइलें।

हमेशा की तरह, सावधानी के साथ उपयोग करें! और कृपया किसी भी सुधार या सुधार में योगदान करें। इन लिपियों को केवल इस पोस्टिंग के रूप में मेरे स्वयं के सिस्टम पर परीक्षण किया गया है।

आप उन्हें GitHub से डाउनलोड कर सकते हैं:


वाह, बहुत अच्छा :-) मैं खुद इस तरह की स्क्रिप्ट बनाना चाहता था, लेकिन इसके लिए कभी समय नहीं था। इसे हमारे साथ साझा करने के लिए धन्यवाद।
मेकी

4

यदि आप कमांड लाइन से (साथ ही ऊपर भी) काम करना चाहते हैं, तो आपको निम्नलिखित की आवश्यकता होगी:

cd /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s /Xcode3/usr/bin/as .

3

यह अभी भी AppStore से Xcode 4.3.2 के साथ काम करता है - वह संस्करण जहां सब कुछ ऐप बंडल में स्व-निहित है। मूल संकेत के अनुसार, Xcode 3.2.6 पहले * स्थापित करें और फिर AppStore से Xcode 4 डाउनलोड करें। फिर निम्न सिम्कलिन जादू करें:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
ln -s /Developer/Xcode3.2.6/SDKs/MacOSX10.5.sdk .
cd /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/bin/
ln -s /Developer/Xcode3.2.5/usr/llvm-gcc-4.2/bin/powerpc-apple-darwin10-llvm-g* .
mv powerpc-apple-darwin10-llvm-gcc-4.2 powerpc-apple-darwin11-llvm-gcc-4.2
mv powerpc-apple-darwin10-llvm-g++-4.2 powerpc-apple-darwin11-llvm-g++-4.2

पिछली दो पंक्तियों का नाम बदलकर darwin10 को darwin11 को सिर्लिंक में रखा गया है - मैं अनुमान लगा रहा हूं कि OS X के भविष्य के संस्करणों को इसे उपयुक्त रूप से अपडेट करना होगा।

  • शेर पर Xcode 3.2.x स्थापित करने के लिए, Xcode डिस्क छवि को माउंट करें, टर्मिनल खोलें, कमांड दर्ज करें (यदि आप अपना डिफ़ॉल्ट शेल बदल चुके हैं, तो bash (या समतुल्य कमांड का उपयोग करके):

    COMMAND_LINE_INSTALL = 1 खुला "/ वॉल्यूम / Xcode और iOS SDK / Xcode और iOS SDK .mpkg निर्यात करें"

आपको 31 मार्च 2012 से पहले की घड़ी वापस सेट करनी होगी अन्यथा सुरक्षा प्रमाणपत्र स्थापना के दौरान सत्यापन विफल हो जाएंगे। आप स्पष्ट रूप से स्थापना के बाद फिर से तारीख को सुरक्षित रूप से बदल सकते हैं!


2

यदि किसी को Xcode 4.3 और 4.5 में पुराने एसडीके और पीपीसी संकलक को पुनर्स्थापित करने की आवश्यकता है, तो यह एक स्क्रिप्ट है जो मैं आया था। ध्यान दें कि आपको स्क्रिप्ट की शुरुआत में Xcode ऐप बंडल में पथ सेट करने और Xcode 3.2.6 स्थापित करने के लिए पथ निर्धारित करना होगा।

#!/bin/bash

XCODE="/Applications/Xcode45-DP1.app"
XCODE3="/Xcode3"

# restore SDKs
cd "$XCODE/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
sudo ln -s "$XCODE3/SDKs/MacOSX10.4u.sdk" .
sudo ln -s "$XCODE3/SDKs/MacOSX10.5.sdk" . 
sudo ln -s "$XCODE3/SDKs/MacOSX10.6.sdk" . 

# restore gcc 4.0
cd "$XCODE/Contents/Developer/usr/bin"
sudo ln -s "$XCODE3/usr/bin/"*4.0* .
sudo ln -s "powerpc-apple-darwin10-g++-4.0.1" "powerpc-apple-darwin11-g++-4.0.1"
sudo ln -s "powerpc-apple-darwin10-gcc-4.0.1" "powerpc-apple-darwin11-gcc-4.0.1"

# restore Xcode option
cd "$XCODE/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins"
sudo ln -s "$XCODE3/Library/Xcode/Plug-ins/GCC 4.0.xcplugin" . 

यदि आप Xcode 4.3 का उपयोग कर रहे हैं, तो आपको 10.6 SDK से सहानुभूति रखने की आवश्यकता नहीं है क्योंकि यह एक के साथ आता है।

इसके अलावा स्क्रिप्ट gcc 4.2 को पुनर्स्थापित नहीं करता है क्योंकि वहाँ बहुत सारे फ़ाइलनाम संघर्ष कर रहे हैं। मेरा लक्ष्य पीपीसी कंपाइलर को बहाल करना है और 4.0 मेरे लिए काफी अच्छा है।


2

Frédéric Devernay में एक GitHub प्रोजेक्ट है, जिसे Xcodelegacy कहा गया है जो Xcode 5.1.1 पर मेरे लिए शानदार काम करता है, और इसे पूरा करने के लिए बहुत कम काम चाहिए, बस कुछ डाउनलोडिंग

अपने प्रोजेक्ट का उपयोग करते हुए, मैंने यूनिवर्सल बायनेरिज़ बनाने में कामयाबी हासिल की है, जिसमें दोनों पीपीसी और i386 आर्किटेक्चर शामिल हैं, जो कि GCC 4.0 का उपयोग करके 10.4 SDK के साथ संकलित किया गया है, सभी Xcode 5.1.1 से Yosemite पर चल रहे हैं।

मैंने स्वयं सत्यापित किया है कि यूनिवर्सल बायनेरिज़ ने 10.5 तेंदुए पर और योसेमाइट पर खुद ही काम ठीक किया है।

होम पेज यहां: http://devernay.free.fr/hacks/xcodelegacy

यहाँ Git hub project: https://github.com/devernay/xcodelegacy


1

इन फ़ाइलों को XCode 4 के कार्यान्वयन में स्थापित करने के लिए पैकेज रखना उपयोगी होगा। (या टारबॉल)।

FYI करें: X.63 का 3.2.6 पीपीसी आर्किटेक्चर के साथ शामिल नहीं है। लेकिन मेरे कंप्यूटर पर तेंदुए का बैकअप था। तो मैंने कॉपी किया कि एक, काम करने लगता है। (उपयोग / usr / libexec / gcc / darwin / ppc / as)।

यह देखते हुए कि दोनों जीसीसी और खुले स्रोत के रूप में एकमात्र सामान है जो पुनर्वितरण योग्य नहीं हो सकता है, xcode plugin और 10.4 SDK सही है?


मैं लाइसेंस सवाल पर कोई विशेषज्ञ नहीं हूँ; "as -v" कहता है "Apple Inc संस्करण cctools-795 ~ 45, GNU कोडांतरक संस्करण 1.38", हालाँकि, भले ही Apple ने "जैसा" के स्रोत कोड को संशोधित किया हो, यह अभी भी GPL (संशोधित GPL कोड) के तहत लाइसेंस प्राप्त है GPL कोड फिर से), इस प्रकार यदि GPL आपको ऐसा करने की अनुमति देता है, तो आपको ठीक होना चाहिए।
मेकी

ठीक है, मुझे लगता है कि मेरे तर्क को "गलत" के रूप में क्यों बदलना चाहिए। Xcode 3.2.6 का "जैसा" प्रतीत होता है कि भले ही यह केवल इंटेल है, लेकिन यह अभी भी पीपीसी असेंबली आउटपुट बनाने में सक्षम है। मैं अपना प्रारंभिक उत्तर ठीक करूंगा। इस पर ध्यान दिलाने के लिए धन्यवाद!
मैकी

दरअसल कम से कम कमांड लाइन से ऐसा नहीं होता है। यह तब तक शिकायत करता रहा जब तक मैंने अपने तेंदुए के बैकअप से नहीं पकड़ लिया।
जेसन केनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.