2012-09-23 12 views
31

मैं किसी तृतीय पक्ष लाइब्रेरी का डेवलपर हूं और मैं armv7s के लिए अपनी लाइब्रेरी को पुन: संकलित करना चाहता हूं, लेकिन मुझे समस्याएं प्रतीत होती हैं।armv7s के लिए संकलित लाइब्रेरी - cputype (12) और cpusubtype (11)

मैंने एक्सकोड को 4.5 में अपडेट किया। मैंने प्रोजेक्ट और संबंधित लक्ष्यों को armv7 armv7s के वैध आर्किटेक्चर के लिए अद्यतन किया।

हालांकि, जब मैं file या lipo -info चलाने के लिए, यह सूचीबद्ध करता है

  • i386
  • ARMv7
  • (cputype (12) cpusubtype (11))

नहीं armv7s। क्या मैं कुछ भूल रहा हूँ?

+2

मेरे सबसे अच्छा अनुमान है कि लाइपो armv7s बारे में पता नहीं है। शायद पथ/से/xcode/डेवलपर/प्लेटफार्म/iPhoneOS.platform/डेवलपर/usr/bin/lipo बेहतर काम करेगा? –

उत्तर

62

उपयोग XCode के लाइपो:

xcrun -sdk iphoneos lipo 
+1

ऐसा लगता है कि यह होना चाहिए: xcrun -sdk iphoneos lipo -info myLibrary.a –

+0

धन्यवाद! यह मेरे लिए चाल थी। "सामान्य" लिपो armv7s को पहचानता है (cputype (12) cpusubtype (11))। तो यदि आप उस लिपो को "-इनिन armv7s" के साथ चलाने का प्रयास करते हैं तो एक त्रुटि फेंक दी जाएगी। – runamok

1

लिपो में armv7s की परिभाषा नहीं है और यही कारण है कि आप नाम नहीं देख सकते लेकिन केवल सीपीयू प्रकार और उप प्रकार। तो यह वसा बाइनरी ठीक है, बस हमें तब तक इंतजार करना पड़ सकता है जब तक कि हम नए आर्किटेक्चर के साथ गड़बड़ नहीं करना चाहते हैं (उदाहरण के लिए अभी मैन्युअल रूप से armv7s स्लिम बाइनरी को वसा बाइनरी में मर्ज करने का कोई तरीका नहीं है)।

17

जाहिर है, (cputype (12) cpusubtype (11)) armv7s के लिए एक और नामकरण है।

आप यहाँ और अधिक उल्लेख कर सकते हैं: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

ऊपर ब्लॉग भी बना रही है कुछ पुस्तकालयों संगत निर्माण armv7s के लिए एक विधि का वर्णन है। उपर्युक्त विवरण आलेख के अंत के पास है जहां वह file कमांड से आउटपुट के बारे में बताता है।

इस हैडर (एक मच-ओ हैडर कहा जाता है) के अंदर सीपीयू प्रकार और सीपीयू उप-प्रकार के लिए एक क्षेत्र है:

इसे का एक हिस्सा के शब्दों में। एआरएम सीपीयू प्रकार 12 है, ARMv7 सीपीयू उप प्रकार 9 और armv7s है सीपीयू उप प्रकार 11. है

संबंधित मुद्दे