2010-10-13 20 views
13

मैं किस लिंकर को क्लैंग के लिए उपयोग करता हूं? अगर मैं लिंकर के रूप में क्लैंग या एलडी का उपयोग करता हूं, तो मुझे बड़ी मात्रा में त्रुटियां मिलती हैं जैसे कि मैंने मानक लाइब्रेरी से लिंक नहीं किया है।क्लैंग के लिए लिंकर?

जी ++ $ (OBJS) -ओ $ (BINDIR)/obtap

ऐसा लगता है कि मैं अपने बजना वस्तुओं से जोड़ने के लिए क्रम में ग्राम ++ उपयोग करना होगा।

उत्तर

21

मैं 'clang ++' के बजाय 'clang' चला रहा था, जिसका अर्थ है कि यह C++ मानक लाइब्रेरी को लिंक नहीं करता था।

3

आपको llvm के लिंक संपादक का उपयोग करने की आवश्यकता नहीं है। मैं तकनीकी जानकारी से बचने होगा, लेकिन, संक्षेप में, आप (पढ़ें: जीएनयू ld या सूर्य ld) इस समय बजना उपयोग करने के लिए उपलब्ध एक विशिष्ट यूनिक्स लिंक संपादक की आवश्यकता होगी। यहां तक ​​कि llvm-ld देशी बाइनरी को जोड़ने के लिए अंतर्निहित प्लेटफ़ॉर्म के लिंकर का भी उपयोग करता है।

3

फॉलोअप: यह अब 2016 है, और LLVM अपने स्वयं के संयोजक पर कुछ स्थिर प्रगति की है। इसे "एलएलडी" कहा जाता है, और the website is here. यह i386 और x86_64 बाइनरी बनाने के लिए ठीक काम करता है, जबकि अन्य सिस्टम को लक्षित करने के लिए काम चल रहा है।

यह BSDs के लिए, एक बार यह काफी स्थिर माना जाता है जीएनयू उपकरण पर निर्भरता निकाल देना चाहिए।

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