क्लैंग ++ और जी ++ एबीआई असंगत हैं, यहां तक कि मानक कंटेनर के रूप में मूल चीजों के लिए, उदाहरण के लिए, क्लैंग ++ वेबसाइट।यदि क्लैंग ++ और g ++ एबीआई असंगत हैं, बाइनरी में साझा पुस्तकालयों के लिए क्या उपयोग किया जाता है?
सी ++ साझा पुस्तकालयों, यानी libboost, आदि के साथ डेबियन जहाजों ... जो कि कुछ कंपाइलर का उपयोग करते हुए ~ कुछ और उपयोगकर्ता प्रोग्राम के साथ संकलित होते हैं, आमतौर पर काम करते हैं, और लाइब्रेरी नाम उनके लिए उपयोग किए गए कंपाइलर के साथ उलझन में नहीं होते हैं। जब आप क्लैंग स्थापित करते हैं, तो डेबियन नहीं जाता है और आपके सिस्टम पर स्थापित प्रत्येक सी ++ लाइब्रेरी के डुप्लिकेट संस्करणों में खींचता है।
क्या सौदा है? क्या डिस्ट्रो-प्रदत्त सी ++ पुस्तकालयों के खिलाफ लिंक करने की क्षमता है (धन्यवाद सावधानीपूर्वक) कंपाइलर देवताओं की तुलना में यह मजबूत है?
मैंने सोचा कि वास्तव में, क्लैंग को एबीआई जीसीसी के साथ संगत माना जाता है, अन्यथा आप सही हैं कि यह एक बड़ा दुःस्वप्न होगा। हालांकि मैं निश्चित नहीं हूँ। मैंने सोचा था कि जमीन से उतरने के लिए मूल रूप से इस नीति को अपनाने के लिए क्लैंग की आवश्यकता है। –
कुछ हद तक संबंधित: https://stackoverflow.com/questions/11682748/is-clang-abi-same-as-g?rq=1 – edmz
मैं यह नहीं कहना चाहता कि वे एक डुप्लिकेट हैं, बिल्कुल।वह प्रश्न बहुत विशिष्ट संस्करणों को संदर्भित करता है। – Puppy