मेरे पास एक पुराना कंप्यूटर है जो शेर में अपग्रेड नहीं कर सकता है, लेकिन मैं इसे कोडिंग के लिए उपयोग करना चाहता हूं जबकि अभी भी instancetype
और उद्देश्य-सी अक्षर जैसे वाक्यविन्यास का लाभ उठा रहा हूं। क्या किसी ने पुराने एक्सकोड के साथ उपयोग करने के लिए एक नया क्लैंग और एलएलवीएम संकलित करने की कोशिश की है और सफल रहा है?क्या एलएलवीएम का एक नया संस्करण संकलित करना और एक्सकोड के साथ इसका उपयोग करना संभव है?
उत्तर
नवीनतम एलएलवीएम/क्लैंग संस्करण का उपयोग करने के कई तरीके हैं।
(1) प्लगइन्स, ऊपर टिप्पणियों, जैसे में वर्णित हैं: http://blog.wadetregaskis.com/tot-clang-llvm-in-xcode/
के रूप में जुड़े हुए ब्लॉग पोस्ट में कहा, आप त्रुटियों/Xcode के वास्तविक समय वाक्य रचना की चेतावनी के Xcode के रूप में जाँच मिल सकता है libclang के पुराने संस्करण का उपयोग करता है (उस पर अधिक (3))। यह ठीक संकलित होने की संभावना है, लेकिन संपादन स्रोत कोड बहुत मजेदार नहीं होगा।
(2) CC
ध्वज के माध्यम से कंपाइलर सेट करें। यह शायद सबसे आसान/सबसे तेज़ समाधान है और सेटिंग केवल एक प्रोजेक्ट को प्रभावित करती है। प्रोजेक्ट की बिल्ड सेटिंग्स पर जाएं, "बिल्ड सेटिंग जोड़ें" चुनें -> "उपयोगकर्ता-निर्धारित सेटिंग जोड़ें" (एक्सकोड 5 में, यह संपादक मेनू में छिपा हुआ है), इसे CC
नाम दें और मान को अपने पथ पर सेट करें क्लैंग का संस्करण। मेरे लिए ठीक काम किया, लेकिन (1) के साथ, आपको लाइव त्रुटि रिपोर्टिंग के साथ संघर्ष मिल सकता है, खासकर यदि आप नए सिंटैक्स का उपयोग करना चाहते हैं जैसे कि शाब्दिक, या पुराने संस्करण को समझने वाली चेतावनियों के लिए फ़्लैग पास करना चाहते हैं।
(3) संकलक को बदलें। सुनिश्चित करें कि आप उन्हें बदलने से पहले किसी भी फाइल का बैकअप लें। दो फाइलें हैं जिन्हें प्रतिस्थापित करने की आवश्यकता है: क्लैंग बाइनरी, और libclang.dylib। /Applications/Xcode.app/
पर जाएं -> विकल्प-क्लिक करें -> "पैकेज सामग्री दिखाएं" ->/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr
पर जाएं। clang /bin
में है, libclang.dylib /lib
में है।
दोनों द्विआधारी या तो स्रोत से संकलित किए जा सकते हैं (जो आपको निश्चित रूप से एक नया संस्करण भी देगा) या बस नवीनतम एक्सकोड पैकेज से कॉपी किया गया है। मैं libclang के एक अनुकूलित संस्करण का उपयोग कर परेशानी में भाग गया, लेकिन मुझे संदेह है कि समस्या मेरे संशोधनों से उत्पन्न होती है। यदि संदेह है, तो बाद के एक्सकोड संस्करण से libclang का उपयोग करें।
नोट: मेरी संशोधित libclang बाइनरी एआरसी का उपयोग किया और इसलिए एक्सकोड 4 के साथ असंगत है जो कचरा संग्रह के साथ चलाता है। एक्सकोड 5 स्वयं एआरसी का उपयोग करता है ताकि समस्या गायब हो गई हो। यदि आप libclang unmodified संकलित करते हैं, तो आपको या तो Xcode 4 या 5.
बहुत बढ़िया जानकारी, धन्यवाद। –
- 1. एक्सकोड के साथ बंडल किए गए एलएलवीएम संस्करण क्या है?
- 2. क्या पाइथन दुभाषिया संस्करण ड्रीमपी का उपयोग करना संभव है?
- 3. क्या डी 2 से जावास्क्रिप्ट में संकलित करना संभव है?
- 4. क्या एक्सकोड 4.3 में एनएसएआरएआरई, एनएस डिक्शनरी और एनएसएनंबर "लिटरल्स" का उपयोग करना संभव है? (एलएलवीएम 4.0)
- 5. क्या एक नया टेस्टफ्लैट संस्करण सबमिट करना संभव है जबकि एक और संस्करण समीक्षा कतार में है?
- 6. क्या IntelliJ के साथ Vagrant का उपयोग करना संभव है?
- 7. क्या socket.io के साथ यूडीपी का उपयोग करना संभव है?
- 8. क्या विज़ुअल सी # 2010 एक्सप्रेस संस्करण के साथ प्रोजेक्ट कमांड लाइन को संकलित करना संभव है?
- 9. क्या सशर्त के साथ बचाव का उपयोग करना संभव है?
- 10. क्या सी के साथ ईजिन का उपयोग करना संभव है?
- 11. क्या क्यूटी के साथ सीन का उपयोग करना संभव है?
- 12. क्या माउस के साथ vim का उपयोग करना संभव है
- 13. क्या एसवीएन के साथ स्काईडाइव का उपयोग करना संभव है?
- 14. क्या लिनक्स पर xcodebuild का उपयोग करना संभव है?
- 15. स्विफ्ट के साथ "विश्लेषण" का उपयोग करना संभव नहीं है?
- 16. क्या एक्सकोड के सेनटेस्टिंगकिट का उपयोग कर एक स्थिर लाइब्रेरी प्रोजेक्ट का परीक्षण करना संभव है?
- 17. एलएलवीएम और क्लैंग (ओएसएक्स) का मेरा संस्करण क्या है?
- 18. क्या डेल्फी एक्सई में डेटास्नाप पैकेज को इंडी के एक नए/अलग संस्करण के साथ पुन: संकलित करना संभव है?
- 19. क्या .NET में रनटाइम पर नया कोड संकलित और निष्पादित करना संभव है?
- 20. नया एक्सकोड संस्करण
- 21. क्या एमएसबिल्ड के बिना सी # परियोजना संकलित करना संभव है?
- 22. NHibernate क्या है और मुझे इसका उपयोग क्यों करना चाहिए?
- 23. ऐपडिलेगेट क्या है और मुझे इसका उपयोग कब करना है?
- 24. क्या PHP में array_shift() का उपयोग करना संभव है और कुंजी प्राप्त करना संभव है?
- 25. क्या Django और Node.Js का उपयोग करना संभव है?
- 26. ब्रेकपॉइंट्स सक्षम के साथ एक्सकोड के इंस्ट्रूमेंट्स का उपयोग करना संभव है?
- 27. एक छोटे बदलाव के साथ DotNetOpenAuth के विशिष्ट संस्करण को संकलित करना, मुद्दों पर हस्ताक्षर करना
- 28. स्क्रिप्ट घटक के साथ OleDbConnections का उपयोग करना संभव है?
- 29. क्या आईओएस पर एक्सपियन, क्ल्यूसीन या लुसी का संकलन और उपयोग करना संभव है?
- 30. डीएसएल क्या है और मुझे इसका उपयोग कहां करना चाहिए?
संभवतः आधिकारिक रूप से समर्थित नहीं होना चाहिए। शुरू करने के लिए गूगल "clang ट्रंक xcode प्लगइन"। – justin
@justin मुझे इस पर पीटा पथ से बाहर जाने की उम्मीद है। उस दिशा में मुझे इंगित करने के लिए धन्यवाद। –
आपका स्वागत है। सौभाग्य से, दूसरों ने इसका वर्णन किया है और आपके उपयोग के लिए प्लगइन प्रदान किए हैं। – justin