2012-05-10 8 views
7

después de añadir el marco OCMock tengo esa extraña errores ... :(error "archivo no encontrado: -fobjc-arco" en la compilación de IOS App en XCode

 
ld: file not found: -fobjc-arc 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Parece que si los intentos bandera compilador para ser cargado por XCode

Cualquier idea

saludos, hijolan

+1

¿Qué versión de Xcode estás usando? –

+0

Mire la salida de compilación en Log Navigator. Si no puede resolverlo, publíquelo aquí. – trojanfoe

+0

hola ... gracias por su respuesta ... ese código anterior provino del navegador de registro ... ahora revirtí mi archivo de proyecto por git y agregué la biblioteca de nuevo ...;) funciona ahora. –

Respuesta

10

que estaba recibiendo el mismo error exacto en Xcode 4.3.2 Aquí está mi registro navegador;??. estoy agregando que para Google jugo.

Ld /Users/makdad/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Products/Debug-iphonesimulator/JournalTests.octest/JournalTests normal i386 
cd /Users/makdad/Documents/MT/mt-mobile/iOS/Journal 
setenv MACOSX_DEPLOYMENT_TARGET 10.6 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/phooze/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Products/Debug-iphonesimulator -F/Users/phooze/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/phooze/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Intermediates/Journal.build/Debug-iphonesimulator/JournalTests.build/Objects-normal/i386/JournalTests.LinkFileList -mmacosx-version-min=10.6 -bundle_loader /Users/phooze/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Products/Debug-iphonesimulator/Journal.app/Journal -Xlinker -objc_abi_version -Xlinker 2 -ObjC -force_load -fobjc-arc -ftest-coverage -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=40100 -lOCMock -framework Twitter -framework MapKit -framework MobileCoreServices -framework SystemConfiguration -lxml2 -licucore -framework CoreData -framework CoreGraphics -framework CFNetwork -framework QuartzCore -framework SenTestingKit -framework UIKit -framework Foundation -o /Users/phooze/Library/Developer/Xcode/DerivedData/Journal-bfkvfbsrkmrsjpddzfmwrstjfkzr/Build/Products/Debug-iphonesimulator/JournalTests.octest/JournalTests 

Las instrucciones OCMock piden explícitamente que añadir banderas enlazador - -ObjC y -force_load.

-force_load espera un valor - consulte the answer to this question que explica que -all_load es lo que debe usar si no desea especificar un nombre de biblioteca.

Como alguien que acaba de pasar 25 minutos en esto, debería consultar nuevamente con el tutorial de OCMock: no creo que haya sido muy claro en estas instrucciones.

This blog post tiene una imagen mucho mejor que muestra exactamente cómo debe verse su configuración.

+2

Como nota, '-all_load' y' -force_load' ya no deberían ser necesarios en LLVM en Xcode 4.2 y versiones posteriores: http://stackoverflow.com/a/7942924/19679. En un momento dado, se requirieron debido a un error del enlazador, pero ese problema ya se resolvió en las últimas versiones de LLVM. Debería poder descartar los indicadores del vinculador que no sean '-ObjC'. –

+2

@BradLarson gracias por la aclaración. Así es como siempre sucede ... las personas agregan magia vudú para sortear un error, pero cuando se corrige el error, nadie va nunca a "Internet" y limpia el desorden de las antiguas publicaciones provisionales. – makdad

Cuestiones relacionadas