2011-07-07 20 views
23

संभव डुप्लिकेट:
symbol(s) not found for architecture i386अपरिभाषित प्रतीकों

मैं पूरा करने वाला ऐप, और जब मैं क्या पिछले डेवलपर किया समझने की कोशिश कर शुरू (यह साथ किया गया था

Ld build/Debug-iphonesimulator/RadioPlayer.app/RadioPlayer normal i386 
    cd /Users/haithembenhammouda/Desktop/SonVidéo 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/haithembenhammouda/Desktop/SonVidéo/build/Debug-iphonesimulator -L/Users/haithembenhammouda/Desktop/SonVidéo/Classes/RadioKitLib -L/Users/haithembenhammouda/Desktop/SonVidéo -F/Users/haithembenhammouda/Desktop/SonVidéo/build/Debug-iphonesimulator -filelist /Users/haithembenhammouda/Desktop/SonVidéo/build/SonVidéo.build/Debug-iphonesimulator/RadioPlayer.build/Objects-normal/i386/RadioPlayer.LinkFileList -mmacosx-version-min=10.6 -ObjC -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework SystemConfiguration -framework MediaPlayer -framework CFNetwork -framework AudioToolbox -framework QuartzCore -lsqlite3.0 -framework AVFoundation -lRadioKit -framework MessageUI -o /Users/haithembenhammouda/Desktop/SonVidéo/build/Debug-iphonesimulator/RadioPlayer.app/RadioPlayer 
Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_RadioKit", referenced from: 
     objc-class-ref in RadioPlayerViewController.o 
    ".objc_class_name_UIColor", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(BufferView.o) 
    ".objc_class_name_UIView", referenced from: 
     .objc_class_name_BufferView in libRadioKit.a(BufferView.o) 
    ".objc_class_name_NSObject", referenced from: 
     .objc_class_name_ASE_Event in libRadioKit.a(ASE_Event.o) 
     .objc_class_name_AudioStreamEngine in libRadioKit.a(AudioStreamEngine.o) 
     .objc_class_name_RadioKit in libRadioKit.a(RadioKit.o) 
     .objc_class_name_XMLMetaParser in libRadioKit.a(XMLMetaParser.o) 
    ".objc_class_name_NSDate", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    ".objc_class_name_NSValue", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    ".objc_class_name_NSScanner", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    ".objc_class_name_NSCharacterSet", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    ".objc_class_name_NSAutoreleasePool", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
     pointer-to-literal-objc-class-name in libRadioKit.a(XMLMetaParser.o) 
     pointer-to-literal-objc-class-name in libRadioKit.a(reachability.o) 
    ".objc_class_name_NSFileManager", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    ".objc_class_name_NSURLConnection", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
     pointer-to-literal-objc-class-name in libRadioKit.a(XMLMetaParser.o) 
    ".objc_class_name_NSThread", referenced from: 
     pointer-to-literal-objc-class-name in libRadioKit.a(AudioStreamEngine.o) 
    .....(etc) 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

पी: Xcode 3 मुझे लगता है कि) सिम्युलेटर को क्रियान्वित करते हुए, Xcode 4 मुझे 25 मुद्दों को दिखाने एस: मैंने ढांचे की जांच की और उनमें से सभी मौजूद हैं।

+1

क्या यह पोस्ट मदद करता है? http://stackoverflow.com/questions/4839981/symbols-not-found-for-architecture-i386 –

+0

धन्यवाद @JamesMcCormack, उस पोस्ट ने मेरी समस्या को हल करने में मदद की :) – CherryQu

उत्तर

-5

अच्छी तरह से मैं जो Xcode 4. आपको बस इतना करना SimulatorSDK फ़ोल्डर /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4 से चौखटे आयात कर रहा है क्या साथ काम करना चाहते के लिए इस समस्या का समाधान मिल गया .3.sdk/सिस्टम/लाइब्रेरी/फ्रेमवर्क

मुझे नहीं पता कि यह वास्तविक ऐडवाइस पर आपके ऐप का परीक्षण करने का प्रयास करते समय यह काम करता है, लेकिन मुझे यकीन है कि यह सिम्युलेटर पर काम करता है।

आनंद

+0

वह फ़ोल्डर कहां है? –

+4

यह क्या है ..? यह कभी काम नहीं करेगा। –

21

ढांचे के चरण बिल्ड की सूची "पुस्तकालय के साथ लिंक बाइनरी" में परियोजना लक्ष्य में प्रयोग किया जाता विधि के लिए आवश्यक जोड़े, यह आसानी से काम करेंगे। जैसे कि मैंने बग वास्तुकला i386 के लिए

अपरिभाषित प्रतीकों के लिए अपने प्रोजेक्ट

QuartzCore.framework 

को आयात किया है:

2

स्पष्ट लग के जोखिम पर, हमेशा अपने आगे की वर्तनी की जाँच कक्षा फाइलें कभी-कभी एक्सकोड (कम से कम एक्सकोड 4.3.2) एक घोषणा हरा बदल देगा जो वास्तव में ऊंट का गलत तरीके से उपयोग किया जाता है। जैसा कि इस उदाहरण में:

"_OBJC_CLASS_$_RadioKit", referenced from: 
    objc-class-ref in RadioPlayerViewController.o 

तो RadioKit एक वर्ग फ़ाइल था और आप इसे एक और फ़ाइल की एक संपत्ति बनाने, इंटरफ़ेस घोषणा में, जैसा कि आप देख सकते हैं कि

Radiokit *rk; 

है "Radiokit" हरे रंग में जब वास्तविक decalaration होना चाहिए:

RadioKit *rk; 

यह त्रुटि इस प्रकार की त्रुटि भी फेंक देगी। एक और उदाहरण (मेरे मामले में), जब आपके पास सार्वभौमिक ऐप्स के लिए आपके वर्ग नामों पर _iPhone और _iphone एक्सटेंशन हैं। एक बार जब मैंने _fhone से सही _iPhone में उचित फ़ाइल बदल दी, तो त्रुटियां चली गईं।

24

पार्टी के लिए देर हो चुकी है, लेकिन इस त्रुटि के साथ किसी के लिए मूल्यवान हो सकता है थोड़ा ..

मैं बस सीधे एक Xcode प्रोजेक्ट में फाइलों का एक समूह की नकल की, आप उन्हें अपनी परियोजनाओं में जोड़ने के लिए भूल जाते हैं के चरण आप का निर्माण त्रुटि "आर्किटेक्चर i386 के लिए अपरिभाषित प्रतीक" प्राप्त होगा। तो अपनी कार्यान्वयन फ़ाइलों को संकलित स्रोतों में जोड़ें, और Xib फ़ाइलों को कॉपी बंडल संसाधनों में जोड़ें।

त्रुटि मुझे बता रही थी कि मेरे वर्गों के लिए कोई लिंक नहीं था क्योंकि उन्हें संकलन स्रोतों में शामिल नहीं किया गया था, वास्तव में काफी स्पष्ट है लेकिन किसी को सिरदर्द बचा सकता है।

+5

यदि मेरे पास .m फ़ाइल नहीं है, तो मेरे पास केवल .a फ़ाइल है! – GMsoF

+0

बहुत अच्छी सलाह धन्यवाद। –

+0

कमाल ... मैं 2 दिनों के लिए ऐप्पल मैक लिंक त्रुटि पर फंस गया था। मैन .. तुमने मुझे अभी बचाया :-) धन्यवाद –

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