दिलचस्प पोस्ट
जब उपयोगकर्ता ब्राउज़र टैब को स्विच करता है AutoEventWireUp पृष्ठ संपत्ति का अर्थ क्या है? जीएमटी टाइमज़ोन से आईएसटी टाइमज़ोन और एंड्रॉइड में उल्टा करने के लिए दिनांक का विश्लेषण कैसे करें विदेशी आर्किटेक्चर मानकों समितियों के बारे में परवाह है घटक निर्माण – एक साथ घटक जोड़ना? जावास्क्रिप्ट का उपयोग करते हुए नई लाइनों वाले एक JSON स्ट्रिंग से बचने के लिए कैसे? एवीडी नहीं बना सकते हैं या एडीडी के साथ किसी भी आवेदन को 22.6 के अपडेट बिल्ड टूल्स के बाद परीक्षण कर सकते हैं "सहकर्मी द्वारा कनेक्शन रीसेट" मतलब क्या है? कितनी बार मैं एक आवंटित या बनाए रखा वस्तु जारी करता हूं? मैं स्वागत पृष्ठ को स्ट्रट्स एक्शन के लिए कैसे सेट कर सकता हूं? टेक्स्टबॉक्स प्रारंभिक मान प्रदर्शित करने के लिए, कोड से नवीनीकृत मान नहीं प्रोग्रामेटिक रूप से प्रवेश द्वार और सबनेट मुखौटा विवरण प्राप्त करना हाइबरनेट त्रुटि: org.hibernate.NonUniqueObjectException: एक ही पहचानकर्ता मान के साथ एक अलग ऑब्जेक्ट पहले से ही सत्र से जुड़ा था फ्लैश AS3 से PHP पर डेटा भेजने और प्राप्त करना डायरेक्टिव से नियंत्रक तक एक AngularJS स्कोप चर को पारित करने का सबसे आसान तरीका?

स्थिर पुस्तकालयों का मिश्रण करें

मैंने इस प्रश्न में दृष्टिकोण की कोशिश की, लेकिन ऐसा लगता है कि ar का लिनक्स संस्करण मैक संस्करण के समान नहीं है क्योंकि मैं ऑब्जेक्ट फ़ाइलों को फिर से संगठित करने में असफल रहा हूं।

मैं जो मूल रूप से करना चाहता हूं वह एक स्थैतिक लाइब्रेरी को एक रन-स्क्रिप्ट बिल्ड चरण के माध्यम से मेरी Xcode स्थैतिक पुस्तकालय बिल्ड उत्पाद में विलय कर रहा है।

दुर्भाग्य से मैं अन्य लाइब्रेरी को सीधे मेरी प्रोजेक्ट में संकलित नहीं कर सकता क्योंकि यह अपनी बिल्ड सिस्टम है (इसलिए मैं संकलित लिब्ज़ का उपयोग करता हूं)।

मुझे लगता है कि बिल्ड लायब्रेरी को डिकंपिलिंग के बिना अन्य लाइब्रेरी को ar माध्यम से एक्सकोड जनरेट किए गए लाइब्रेरी में मर्ज करना संभव है। मैं इसे कैसे पूर्ण करूं?

Solutions Collecting From Web of "स्थिर पुस्तकालयों का मिश्रण करें"

आप इसे करने के लिए libtool का उपयोग कर सकते हैं

 libtool -static -o new.a old1.a old2.a 

यदि आप बहु-वास्तुकला स्थैतिक पुस्तकालयों के साथ काम कर रहे हैं, तो प्रत्येक लाइब्रेरी को पतला करने के लिए अतिरिक्त हेरफेर करने के लिए आवश्यक है, थिन संस्करणों को जोड़ना होगा, और फिर परिणाम को मोटा होना चाहिए। यहां एक आसान स्क्रिप्ट है जिसे आप अपनी संतुष्टि में संपादित कर सकते हैं जो कि एक में सब कुछ करता है। उदाहरण के लिए तीन आईओएस पुस्तकालय path/to/source/libs/libone.a , path/to/source/libs/libtwo.a , और path/to/source/libs/libthree.a और उन्हें एक पुस्तकालय में विलीन कर दिया जाता है। । libcombined.a

 #! /bin/bash INPATH="path/to/source/libs" LIBPREFIX="lib" LIBS="one two three" LIBEXT=".a" OUT="combined" ARCHS="armv7 armv7s arm64" for arch in $ARCHS do for lib in $LIBS do lipo -extract $arch $INPATH/$LIBPREFIX$lib$LIBEXT -o $LIBPREFIX$lib-$arch$LIBEXT done INLIBS=`eval echo $LIBPREFIX\{${LIBS// /,}\}-$arch$LIBEXT` libtool -static -o $LIBPREFIX$OUT-$arch$LIBEXT $INLIBS rm $INLIBS done OUTLIBS=`eval echo $LIBPREFIX$OUT-\{${ARCHS// /,}\}$LIBEXT` lipo -create $OUTLIBS -o $LIBPREFIX$OUT$LIBEXT rm $OUTLIBS 

आपको सिर्फ एक से दूसरे को जोड़ने में सक्षम होना चाहिए। इसलिए … सिर्फ छवियों को मर्ज करने के लिए ld का उपयोग करें।

MacOS पर एक संग्रह बनाने के लिए आपको ar -r का उपयोग करना चाहिए:

 ar -x libabc.a ar -x libxyz.a ar -r libaz.a *.o