यदि आप अपने आईओएस 13 प्रोजेक्ट में किसी तृतीय पक्ष लाइब्रेरी (मेक या सेमेक का उपयोग करके संकलित) का उपयोग करने का प्रयास करते हैं और "यूआईकिट फॉर मैक" विकल्प चालू करते हैं, तो एक्सकोड पुस्तकालय के बारे में नाखुश होगा। यह शिकायत करेगा कि प्रदान की गई लाइब्रेरी गलत आर्किटेक्चर के लिए संकलित की गई है (यदि आप इसे iphoneos संस्करण पर इंगित करते हैं)। या, यह शिकायत करेगा कि इसे गलत प्लेटफॉर्म के लिए संकलित किया गया है (यदि आप इसे सिम्युलेटर या मैक संस्करण पर इंगित करते हैं)। "यूआईकिट फॉर मैक" विकल्प के तहत लाइब्रेरी को स्वीकार करने के लिए एक्सकोड बनाने के लिए मेकफ़ाइल में मुझे कौन सी सेटिंग्स निर्दिष्ट करने की आवश्यकता है?

4
Anton 7 जून 2019, 06:38

1 उत्तर

सबसे बढ़िया उत्तर

खैर, थोड़ी देर के लिए खुदाई करने के बाद, मुझे पता चला कि यदि आप निम्नलिखित लक्ष्य के साथ क्लैंग की आपूर्ति करते हैं (configure को कॉल करने से पहले CFLAGS चर सेट करें), तो यह लाइब्रेरी के सही संस्करण को संकलित करता है (ध्यान दें -macabi प्रत्यय):

-target x86_64-apple-ios${MIN_IOS_VERSION}-macabi

मैं macOS संस्करण में न्यूनतम os संस्करण ध्वज भी जोड़ता हूँ:

-mmacosx-version-min=${MIN_OSX_VERSION}

यहां MIN_IOS_VERSION="13.0" और MIN_OSX_VERSION="10.15"

5
Anton 7 जून 2019, 03:45