2011-02-06 12 views
41

के लिए संकलन करने के लिए कोई आर्किटेक्चर नहीं है, मुझे लाइब्रेरी प्रोजेक्ट्स के लिए एक्सकोड 4 में अपग्रेड करने के बाद त्रुटि मिल रही है, जो मेरा एप्लिकेशन निर्भर करता है।एक्सकोड 4 त्रुटि में अपग्रेड करना

[BEROR] नहीं आर्किटेक्चर (ONLY_ACTIVE_ARCH = हाँ, सक्रिय मेहराब = i386, VALID_ARCHS = ARMv6) के लिए संकलित करने के लिए।

+8

ठीक है आज के रूप में सवाल वैध है। :-) –

उत्तर

57

ऐसा लगता है कि आपको बिल्ड सेटिंग्स में मान्य आर्किटेक्चर में i386 जोड़ना है। मैं सिम्युलेटर के लिए संकलन कर रहा था, और यही कारण है कि यह शिकायत कर रहा था।

यह अजीब लगता है, क्योंकि परियोजना अपग्रेड से पहले ठीक काम करती है। ऐसा लगता है कि आपको अपग्रेड करने वाली किसी भी परियोजना के लिए ऐसा करना है। कम से कम अब के लिए काम करेगा।

+8

बिल्ड करें, आर्किटेक्चर सेक्शन, मान्य आर्किटेक्चर विकल्प, विस्तार करने के लिए ग्रे तीर पर क्लिक करें, "armv6 armv7" "i386" जोड़ने के बाद, डीबग के दाईं ओर डबल-क्लिक करें। धन्यवाद जेम्स! – rjobidon

+1

यह इतना स्पष्ट करने के लिए @ rjobidon धन्यवाद! यह एकमात्र उत्तर है जो मेरे लिए काम करता है। – nacho4d

+0

यह बिल्कुल सही है। मुझे लगता है कि इस मुद्दे का स्रोत एक्सकोड 3 में अजीब छोटे "डिवाइस/सिम्युलेटर" ड्रॉप डाउन विकल्प को हटाने का है, जो स्पष्ट रूप से आपकी मान्य आर्किटेक्चर सेटिंग्स को ओवरराइड कर देगा। एक्सकोड 4 का सेटअप एक पतंग ट्रिकियर है लेकिन मुझे बहुत अधिक समझ में आता है। – Luke

16

देखें https://devforums.apple.com/message/376732#376732

"नहीं आर्किटेक्चर के लिए संकलित करने के लिए" का अर्थ है "मान्य आर्किटेक्चर" फ़ील्ड रिक्त है। इसे $(ARCHS_STANDARD_32_BIT) पर अपडेट करें और आपको सामान्य armv6 armv7 दिखाई देगा। "बेस एसडीके" को "नवीनतम एसडीके" में अपडेट करने के बाद कभी-कभी एक्सकोड 4 जीएम में ऐसा होता है।

13

ओपन प्रोजेक्ट.pbxproj (xcodeproj फ़ाइल की पैकेज सामग्री दिखाएं), VALID_ARCHS = "..."; के साथ सभी लाइनों को हटाएं, और एक्सकोड को पुनरारंभ करें।

+1

अन्य सुझावों का प्रयास किया, और यह वह था जो इसे मेरे लिए तय करता था। –

+1

धन्यवाद। XCode 4.2 बीटा में मेरे लिए काम किया 2. –

3

बहुत अजीब। मुझे एक ही त्रुटि का सामना करना पड़ा और डीबग और रिलीज "मान्य आर्किटेक्चर" दोनों को armv6 और armv7 पर सेट किया गया था। (एक ही कोड Xcode 3.2 में ठीक संकलित करता है।) मैंने दोनों सेटिंग्स को हटा दिया, फिर स्पष्ट रूप से उन्हें $ (ARCHS_STANDARD_32_BIT) पर सेट कर दिया ... जो बदले में armv6 और armv7 में अनुवाद करता है ... और यह अभी ठीक है। कोई i386 आवश्यक है। हम्म ...

3

इस त्रुटि Phonegap के साथ हल है संयोजन में occures हैं:

"मान्य आर्किटेक्चर" करने के लिए निर्माण सेटिंग्स में "i386" जोड़ें: अपनी परियोजना और पुस्तकालय के लिए (PhoneGapLib.xcodeProj) । परियोजना और लक्ष्य दोनों के लिए दोनों मामलों में।

+0

धन्यवाद! उत्तर के लिए – Developer

-1

एक नई परियोजना खोलें और एक्सकोड 4 में संकलित करें और फिर परिवर्तित परियोजना के साथ बिल्ड सेटिंग्स की तुलना करें। इस तरह मैंने इसे पाया।

2

मुझे यह त्रुटि मिल रही थी जब मैं नवीनतम एक्सकोड में स्वचालित संदर्भ गणना में कनवर्ट करने का प्रयास कर रहा था। मैंने वैध वास्तुकला सूची में "x86_64" जोड़कर इसे ठीक किया, जिसने मुझे भवन जारी रखने की अनुमति दी।

बस किसी और के पास एक ही समस्या होने पर, सोचा कि मैं अपने लिए क्या काम करता हूं!

0

एक्सकोड 6 के साथ समान समस्याएं होती हैं, तो यह एक्सकोड को अपग्रेड करते समय पॉप लगता है, मेरे द्वारा किए गए किसी भी सफलता की कोशिश नहीं की गई है, जो कि नए एक्सकोड में एक साधारण नया ऐप (टैबबड) बनाया गया था और सुनिश्चित किया कि मेरे ऐप में आर्किटेक्चर के लिए एक ही सेटिंग्स