2011-07-07 31 views
23

Olası Çoğalt:
symbol(s) not found for architecture i386Tanımsız semboller

ben tamamlamak için bir uygulama var ve önceki geliştirici ne yaptığını anlamaya çalışan başladığınızda (o ile yapıldı

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 

P: simülatörü yürüterek Xcode 3 sanırım), Xcode 4 bana 25 sorunları gösterir S: Çerçeveleri kontrol ettim ve hepsi var.

+1

Bu gönderi yardımcısı mı? http://stackoverflow.com/questions/4839981/symbols-not-found-for-architecture-i386 –

+0

teşekkürler @JamesMcCormack, bu sorun benim sorunumu çözmemde yardımcı oldu :) – CherryQu

cevap

-5

iyi Xcode 4. SimulatorSDK klasörüne /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4 gelen çerçeveler içe aktarıyor yapmam gerekeni Tüm çalışmak istediğiniz için bu soruna bir çözüm buldu .3.sdk/Sistem/Kitaplık/Çerçeve

Uygulamanızı gerçek bir iDevice üzerinde denediğinizde işe yarayıp yaramadığını bilmiyorum, ancak bunun simülatörde çalıştığından eminim.

+0

Bu klasör nerede? –

+4

Bu nedir? Asla işe yaramayacak. –

21

Yapı Faz listesi "Kütüphaneleri ile bağlantı Çiftlerin" proje hedefi olarak kullanılan yöntem için gerekli çerçeveyi ekle KEYFİNİ kolayca çalışacaktır. Ben hata mimarisi i386 için

Tanımsız semboller için projemde

QuartzCore.framework 

ithal gelmiş gibi: bariz görünme riskini göze alarak

2

, her zaman ileri yazımını denetlemek sınıf dosyaları Bazen XCode (en az XCode 4.3.2), aslında deve kasedi yanlış bir şekilde bir bildirim yeşili döndürecektir. Bu örnekteki gibi:

"_OBJC_CLASS_$_RadioKit", referenced from: 
    objc-class-ref in RadioPlayerViewController.o 
RadioKit bir sınıf dosyası olsaydı

ve bunu başka dosyanın bir özellik yapmak, arayüz bildiriminde, sen

Radiokit *rk; 

yeşil "Radiokit" sahip olduğunu görebilirsiniz asıl önlem ise:

RadioKit *rk; 

Bu hata da bu tür bir hataya neden olacaktır. Başka bir örnek (benim durumumda), evrensel uygulamalarda sınıf adlarınızda _iPhone ve _iphone uzantılarınız olduğunda. Uygun dosyayı _iphone'dan doğru _iPhone'a değiştirdiğimde, hatalar giderildi.

24

projeleriniz eklemek için unutursam ben sadece düz bir Xcode projeye dosyaları bir demet kopyalanmış

geç partiye ancak bu hata ile birisine değerli olabileceğini Biraz .. Aşama sizi kurmak "i386 mimarisi için tanımlanmamış semboller" hatasını alacak. Bu yüzden uygulama dosyalarınızı Derleme Kaynaklarına ve Xib dosyalarını Bundle Kaynaklarını Kopyala'ya ekleyin.

Hatalar bana, sınıflarımın bir bağlantısı olmadığını söylemişti, çünkü bunlar, Derleme Kaynaklarına dahil olmadıkları için oldukça açıktılar ama bir başkasını baş ağrısına yol açabilirler.

+5

Ya eğer .m dosyam yoksa, sadece .a dosyasına sahibim! – GMsoF

+0

teşekkürler çok iyi tavsiye. –

+0

Harika ... 2 gün boyunca Apple Mach Link Hatası'nda sıkışmıştım. Mannn .. u sadece kurtardı :-) Teşekkürler –