के लिए पुस्तकालयों से पुस्तकालयों के खिलाफ लिंक करने का सही तरीका मैं आईफोन के लिए एक स्थिर पुस्तकालय लिख रहा हूं और मुझे आश्चर्य है कि मैं जो कर रहा हूं, उसकी सिफारिश की जाती है या मुझे एक अलग दृष्टिकोण लेना चाहिए।आईफोन/कोको टच
मैं जिस स्थिर पुस्तकालय को लिख रहा हूं वह libxml2 पर निर्भर है। libxml2 में एक गतिशील लाइब्रेरी (डाइलिब) और एक स्थिर पुस्तकालय (ए) है। मैंने दो दृष्टिकोणों की कोशिश की है।
दृष्टिकोण एक - जब मैं "-lxml2" "अन्य लिंकर झंडे" का निर्माण निम्न संदेश के साथ विफल रहता है जोड़कर स्थिर पुस्तकालय के खिलाफ लिंक करने का प्रयास:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: file: -lxml2 is not an object file (not allowed in a library)
दृष्टिकोण दो - मैं सफलतापूर्वक लिंक कर सकते हैं मेरी स्थिर लाइब्रेरी से गतिशील पुस्तकालय के खिलाफ, लेकिन मुझे यकीन नहीं है कि आईफोन पर इसकी अनुमति है (या उचित दृष्टिकोण)। भले ही मैं एक स्थिर पुस्तकालय का निर्माण कर रहा हूं, क्या ऐप्पल स्थिर पुस्तकालयों को अनुमति देता है जो गतिशील पुस्तकालयों के खिलाफ लिंक करते हैं? मैं अभी भी स्थिर पुस्तकालयों के बारे में सीख रहा हूं, लेकिन मेरी समझ से डिलिब से कोड को मेरे पुस्तकालय बनाने के लिए मेरे कोड के साथ जोड़ा जाएगा, इस प्रकार डाइलिब के खिलाफ लिंक करना कोई मुद्दा नहीं होना चाहिए।
संक्षेप में: [? बनाता है, लेकिन यह सही है और स्वीकार्य]
- mylibrary.a - -> libxml2.a [काम नहीं करता]
- mylibrary.a> libxml2.dylib
दरअसल, एक्सकोड यह ठीक ठीक करने देता है। सार में अधिक, हालांकि, StackOverflow सही * आसानी से * आसानी से * आसानी से खोजने के लिए एक जगह होनी चाहिए! यदि आप नहीं जानते हैं, या आप निश्चित नहीं हैं, तो कृपया उत्तर के रूप में पोस्ट न करें। टिप्पणियों में प्रश्नों को स्पष्ट करने के लिए पूछें, या कुछ शोध करें जब तक कि आप सही उत्तर नहीं जानते! :) – Olie