के साथ libstdC++ को स्थिर रूप से कैसे लिंक करें मैं एसटीएल के स्रोत को पढ़ने के साथ सी ++ गहराई से सीखने की कोशिश कर रहा हूं और साथ ही इसे डिबगिंग कर रहा हूं, इसलिए मैं libstdc++
को अपने प्रोग्राम में स्थिर रूप से लिंक करना चाहता हूं, और यह g++
का उपयोग करके ठीक काम करता है। हालांकि, मैं llvm में clang++
के साथ एक ही चीज़ कैसे प्राप्त कर सकता हूं?clang ++
एक और तरीके से, सवाल यह है कि clang++
-static-libgcc
के बराबर क्या है?
Makefile
मैं
CXX=g++
CC=g++
LDFLAGS=-g -O0 -static-libgcc
CFLAGS=-O0 -Wall
CXXFLAGS=$(CFLAGS)
मुझे नहीं लगता कि स्थिर जोड़ने आपको क्या चाहिए है। पुस्तकालय के लिए आपको डीबग जानकारी की आवश्यकता है, इससे कोई फर्क नहीं पड़ता कि यह स्थिर या गतिशील है या नहीं। आप विभिन्न लिनक्स वितरण में विभिन्न स्थानों पर इसे पा सकते हैं; कुछ में डीबग जानकारी के साथ स्थिर लाइब्रेरी है, कुछ लोगों ने कहीं साझा साझा लाइब्रेरी नहीं है, कुछ ने साझा लाइब्रेरी के लिए जानकारी डीबग की है (उदा। डेबियन/उबंटू आमतौर पर ऐसा करते हैं)। –
मैंने जी ++, और स्थैतिक लिंकिंग कार्यों में कोशिश की है, और मुझे लगता है कि ऐसा इसलिए है क्योंकि मेरा libstdC++। LibstdC++। Dylib है जबकि एक स्ट्रिप नहीं किया गया है। क्या आपका मतलब है कि मुझे एक साझा लाइब्रेरी मिलनी चाहिए जो छीन नहीं है? – Haocheng