एलएलवीएम प्रोजेक्ट वास्तव में कई लोगों को बाइनरी वितरण का उपयोग करने की अपेक्षा नहीं करता है। एलएलवीएम आवधिक सत्यापन के लिए रिलीज़ करता है, लेकिन यह अपेक्षा की जाती है कि अधिकांश उपयोगकर्ताओं को अपने ओएस डिस्ट्रो के माध्यम से एलएलवीएम मिलेगा या वे स्रोत से इच्छित संस्करण का निर्माण करेंगे।
this email thread देखें जहां क्लैंग डेवलपर चर्चा कर रहे हैं कि बाइनरी विचलन का उपयोग कैसे किया जाता है।
उस ने कहा, यदि आप चाहें तो अपने वितरण का उपयोग कर सकते हैं। इंस्टॉल करने के लिए आप क्या करना चाहते हैं इस पर निर्भर करता है:
- क्लैंग को स्थिर कंपाइलर के रूप में उपयोग करें।
- क्लैंग आधारित उपकरण बनाएं।
- अपने कस्टम भाषा कंपाइलर के लिए बैकएंड के रूप में एलएलवीएम का प्रयोग करें।
मैं केवल बजना द्विआधारी और शायद कुछ अन्य लोगों को कॉपी करने की आवश्यकता हो सकती है, लेकिन सभी llvm- * सामान।
तो संकलन है सब आप क्या करना चाहते C/C++/Obj सी है, तो मेरा मानना है कि आप सभी की जरूरत बजना बाइनरी (और 'बजना ++' प्रतीकात्मक कड़ी), 'निर्मित' हेडर है, और रनटाइम पुस्तकालयों। आप /lib/clang/<version>/
में उन शीर्षलेखों और libs पाएंगे। (क्लैंग कंपाइलर आमतौर पर बाइनरी के सापेक्ष अपने स्थान के आधार पर अपने अंतर्निर्मित हिस्सों को पाता है।)
यदि आप बैकएंड के रूप में एलएलवीएम का उपयोग करना चाहते हैं, तो आपको एलएलवीएम हेडर और पुस्तकालयों को बनाने और लिंक करने की आवश्यकता होगी, या आपको अपने फ्रंटएंड के आउटपुट को संसाधित करने के लिए कुछ ll * binaries की आवश्यकता होगी।
यदि आप क्लैंग आधारित उपकरण बनाना चाहते हैं तो आपको स्थिर सी एपीआई या अस्थिर सी ++ एपीआई के निर्माण और लिंक के लिए क्लैंग हेडर और पुस्तकालयों की आवश्यकता होगी।
ध्यान दें कि पुस्तकालय आरटीटीआई के साथ बनाए गए हैं और अपवाद अक्षम हैं। यह एबीआई को बदलता है और इसलिए आप इन्हें आरटीटीआई या अपवाद सक्षम के साथ बनाए गए कोड से लिंक नहीं कर सकते हैं।
ऐसा प्रतीत होता है कि मुझे libC++ को अलग से डाउनलोड और स्थापित करने की आवश्यकता है।
सही, libC++ को एलएलवीएम के वितरण के हिस्से के रूप में शामिल नहीं किया गया है। नाममात्र एलएलवीएम सबप्रोजेक्ट्स में से कई शामिल नहीं हैं। एलएलडीबी एक और उदाहरण है।
न ही एलएलवीएम में मानक सी लाइब्रेरी या मूल उद्देश्य-सी फ्रेमवर्क शामिल हैं।
यदि यह ओएस एक्स के लिए है तो जब आप Xcode 4.x के किसी भी नवीनतम संस्करण को स्थापित करते हैं तो आपको पहले से ही क्लैंग स्थापित होना चाहिए, नहीं? –
मैकपॉर्ट्स से उपलब्ध संस्करण को पकड़ने के बारे में कैसे? – jalf
@ पॉल मैं आश्चर्यचकित था, लेकिन नवीनतम एक्सकोड में केवल 3.2 है (या मुझे बुरी तरह गलत है। वैसे भी मैं इसका उपयोग नहीं करता हूं।) – Potatoswatter