2011-07-07 18 views
23

Duplicar posibles:
symbol(s) not found for architecture i386símbolos no definidos para la arquitectura i386

Tengo una aplicación para terminar, y cuando empiece a tratar de entender lo que el desarrollador anterior (que se hizo con Xcode 3, creo) al ejecutar el simulador, Xcode 4 me muestra 25 números:

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 S: revisé los marcos y todos ellos existen.

+1

¿Este post me ayudó? http://stackoverflow.com/questions/4839981/symbols-not-found-for-architecture-i386 –

+0

gracias @JamesMcCormack, esa publicación ayudó a resolver mi problema :) – CherryQu

Respuesta

-5

así he encontrado una solución a este problema para los que quieren trabajar con xCode 4. Todo lo que tiene que hacer es importar los marcos de la carpeta SimulatorSDK /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4 .3.sdk/System/Library/Frameworks

No sé si funciona cuando intentas probar tu aplicación en un iDevice real, pero estoy seguro de que funciona en el simulador.

ENJOY

+0

¿Dónde está esa carpeta? –

+4

¿Qué es esto ...? Nunca funcionará. –

21

Añadir el marco necesario para el método utilizado en el objetivo del proyecto en el "eslabón binarios con las bibliotecas" lista de las fases de construcción, que funcionará con facilidad. Como he importado a mi proyecto

QuartzCore.framework 

Para el insecto

símbolos no definidos para la arquitectura i386:

2

A riesgo de parecer obvios, siempre comprobar la ortografía de su futuro archivos de clase. A veces XCode (al menos XCode 4.3.2) convertirá una declaración verde que en realidad está encasillado en camello incorrectamente. Como en este ejemplo:

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

Si RadioKit era un archivo de clase y lo convierten en un propiedad de otro archivo, en la declaración de interfaz, se puede ver que

Radiokit *rk; 

tiene "Radiokit" en verde cuando la decalacion real debe ser:

RadioKit *rk; 

Este error arrojará también este tipo de error. Otro ejemplo (en mi caso), es cuando tienes extensiones _iPhone y _iphone en tus nombres de clase para aplicaciones universales. Una vez que cambié el archivo apropiado de _iphone al _iPhone correcto, los errores desaparecieron.

24

Un poco tarde a la fiesta, pero podría ser valiosa para alguien con este error ..

acabo recta copiado un montón de archivos en un proyecto de Xcode, si se olvida de añadirlos a sus proyectos de construir el edificio Fases obtendrá el error "Símbolos indefinidos para arquitectura i386". Por lo tanto, agregue sus archivos de implementación a Compilar orígenes y los archivos Xib para Copiar recursos del paquete.

El error me decía que no había ningún enlace a mis clases simplemente porque no estaban incluidas en las Fuentes de compilación, bastante obvio realmente, pero que pueden ahorrarle a alguien un dolor de cabeza.

+5

¿Qué sucede si no tengo un archivo .m? ¡Solo tengo el archivo .a! – GMsoF

+0

gracias muy buenos consejos. –

+0

Increíble ... Me quedé atrapado en Apple Mach Link Error durante 2 días. Mannn ... me acabas de salvar :-) Gracias –

Cuestiones relacionadas