2012-12-25 14 views
49

मैं एक्सकोड में एक एप्लिकेशन विकसित कर रहा हूं।एक्सकोड लिंकर त्रुटि: आर्किटेक्चर के लिए फ़ाइल बहुत छोटी है x86_64

जब मैं बनाने की कोशिश, यह त्रुटि आता है:

ld: in /Users/theodore/Library/Developer/Xcode/DerivedData/Tower-bkpdifuqssebjdgurzmtirbxejnn/Build/Intermediates/Tower.build/Debug/Tower.build/Objects-normal/x86_64/TWRAppDelegate.o, file too small for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

किसी को भी पता है क्या गलत है?

+33

एक पूर्ण पुनर्निर्माण/साफ करने का प्रयास करें। यह संभव है कि पिछले निर्माण को असामान्य रूप से निरस्त कर दिया गया है, जिससे 'TWRAppDelegate.o' फ़ाइल दूषित या शून्य-आकार को छोड़ दिया जा सके। –

+5

थोड़ा सटीक: आप cmd + shift + k के साथ ऐसा करते हैं, यदि यह काम नहीं करता है, तो व्युत्पन्न डेटा फ़ोल्डर में जाएं और अपने प्रोजेक्ट के नाम वाले फ़ोल्डर को हटा दें। –

+3

@RamyAlZuhouri: ट्रैशिंग को स्वयं फ़ोल्डर्स बनाने के लिए अब और आवश्यकता नहीं है। विकल्प और क्लीन कमांड (जो उत्पाद मेनू में है) को दबाएं "क्लीन बिल्ड फ़ोल्डर ..." में बदल जाता है, जो आपके लिए करता है। –

उत्तर

110

चोरी @ मार्टिन-baulig का जवाब:

एक पूर्ण पुनर्निर्माण/साफ की कोशिश करो। यह संभव है कि पिछले निर्माण को असामान्य रूप से निरस्त कर दिया गया है, जिससे TWRAppDelegate.o फ़ाइल दूषित हो या शून्य-आकार हो।

+6

अंत में! तुम इसके लायक हो। – tbodt

+0

धन्यवाद! :-) ठीक है, टिप्पणियों में मार्टिन-बेलीग के जवाब ने मेरी मदद की, लेकिन यह वास्तविक जवाब के रूप में यहां होना बेहतर होगा। –

+0

मेरी परियोजना को बनाने में कुछ समय लगता है। आप केवल 1-4 ऑब्जेक्ट फ़ाइलों को हटाने से दूर हो सकते हैं जो दूषित हो जाते हैं यदि आप सबकुछ के बजाय असामान्य रूप से निर्माण को रोकते हैं। –

0

एक स्वच्छ परियोजना के निर्माण के लिए ले रास्ता बहुत लंबा है कि कैश में भ्रष्ट है उन है कि फाइल करने के लिए उपयोग किया है के लिए कम तरीका है हो सकता है के बाद से:

  • फ़ाइल हटाएँ (संदर्भ निकालें)
  • बिल्ड परियोजना
  • Reinsert फ़ाइल
  • परियोजना बिल्ड

पूर्ण संस्करण ताकि आप कोई परेशानी नहीं च ग्राहक ढूंढ़ने इले:

  • सही फ़ाइल और "खोजक में शो" प्रेस क्लिक Xcode प्रोजेक्ट नाविक में फ़ाइल का पता लगाएं (स्थान जहां फ़ाइल है पर एक खोजक खुलता है)
  • Xcode में फ़ाइल का चयन करें और प्रेस बैकस्पेस उसके बाद "संदर्भ निकालें"
  • परियोजना बिल्ड (यह असफल लेकिन यह समाप्त होने की प्रतीक्षा करेंगे) एक ही स्थान आप इसे
  • परियोजना बिल्ड नष्ट कर दिया में खोजक से खींच कर
  • Reinsert फ़ाइल (चाहिए अब काम करो)
0

चरण 1. जाओ करने के लिए: परियोजना> सेटिंग्स का निर्माण> खोज पथ

चरण 2. सेट "हमेशा खोजें उपयोगकर्ता पथ" हाँ करने के लिए

चरण 3. बिल्ड परियोजना (आप करेंगे यह चेतावनी मिलती लेकिन इस परियोजना का निर्माण होगा।)

चरण 4. सेट "हमेशा खोजें उपयोगकर्ता पथ" वापस नहीं करने के लिए और चेतावनी

0

rm -rf /Users/hostname/Library/Developer/Xcode/DerivedData

खत्म करने के लिए फिर से निर्माण
0

मेरे मामले में एक साफ पुनर्निर्माण फ्लॉप तो मैं समझाने मैं कैसे समस्या हल:
- फाइल करने के लिए निकाला गया संदर्भ (फ़ाइल को नष्ट नहीं है)
- परियोजना के लिए फ़ाइल को फिर से जोड़ें और

चलाने
3

मैं आमतौर पर एक जगह जोड़ता हूं (उस मामले के लिए कोई चरित्र हो सकता है), इसे हटा दें और फिर सहेजें। स्वच्छ/निर्माण से आसान और तेज।

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