símbolos duplicates para la architecture armv7

Obtiene el siguiente error cuando bash usar Layar SDK en mi aplicación actual. ¿Como puedo resolver esto?

Ld /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos/hub.app/hub normal armv7 cd /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.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 armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/ZBarSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Infosound/Lib -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/CrittercismSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/UserVoiceSDK-2.0.4 -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Libraries -F/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -F/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -filelist /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Intermediates/hub.build/Debug-iphoneos/hub.build/Objects-normal/armv7/hub.LinkFileList -dead_strip -ObjC -all_load -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=5.0 -lMPOAuthMobile -lsbjson-ios -framework LayarSDK -framework Social -framework AddressBook -framework AddressBookUI -framework UIKit -framework QuartzCore -framework Twitter -framework SystemConfiguration -framework Security -framework OpenAL -framework OpenGLES -framework MessageUI -framework MediaPlayer -framework Foundation -framework CoreGraphics -lc++ -framework CoreTelephony -framework CoreVideo -framework CoreMotion -framework CoreMedia -framework CoreLocation -framework CoreData -framework CoreAudio -framework CFNetwork -framework AVFoundation -framework AudioToolbox -lxml2 -liconv -lz -framework MobileCoreServices -lzbar -linfosound -lCrittercism_v3_4_6 -lUserVoice -o /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos/hub.app/hub duplicate symbol _jpeg_free_large in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_free_small in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_get_large in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_get_small in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_mem_available in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_mem_init in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_mem_term in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_open_backing_store in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o) duplicate symbol _jpeg_free_large in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_free_small in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_get_large in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_get_small in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_mem_available in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_mem_init in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_mem_term in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _jpeg_open_backing_store in: /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o) /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o) duplicate symbol _main in: /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Intermediates/hub.build/Debug-iphoneos/hub.build/Objects-normal/armv7/main.o /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jpegtran.o) ld: 17 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Esto puede suceder si accidentalmente #import un file .m lugar del .h !

Generalmente, este tipo de error se produce debido a classs duplicadas y xibs en su carpeta de proyecto. Por ejemplo, en mi proyecto tenía algunos files de class duplicates (files .h / .m). Puede ver estas classs duplicadas en target->Build phases->compile sources .

Solo mira y elimina classs adicionales. El problema se resolverá.

Ocurre con variables estáticas en un file de encabezado (file de encabezado incluido en más de un file de implementaciones).

Obtuve este error porque utilicé las banderas de advertencia recomendadas por Xcode. GCC_NO_COMMON_BLOCKS = YES estaba causando el problema. Configurar esto de nuevo a NO lo arregló para mí.

Este error también puede producirse si tiene importaciones cíclicas … supongamos que tiene VC1.h , VC2.h y VC3.h

ejemplos que causarán el error: (todos son los files .h )

  • Si VC2 importa VC1 y VC1 importa VC2
  • Si VC1 importa VC2 y VC2 importa VC3 y VC3 importa VC1

solución:

  • importar dentro de .m lugar de .h
  • si el .h necesita esa class, use @class (nameOfClass); en lugar de importar el .h

Tenga cuidado al usar #import , solo importa lo que necesite.

Me he enfrentado a este problema una vez antes. La razón es que copié algunos methods y variables declarados en el cuerpo de implementación de una class a otra. Cambie el nombre de estos methods y mueva estas variables al área de statement de la interfaz => resuelta.

Estaba viendo el mismo problema, pero con diferentes bibliotecas. La solución fue la siguiente:

 Target -> Build Phases -> Linked Binary With Libraries 

Asegúrate de que las bibliotecas incluidas tengan sentido. En mi caso, mi proyecto tenía libPods * .a (estoy usando CocoaPods para la dependencia mgmt), pero también algunas bibliotecas que estaban incluidas en las bibliotecas compartidas de mi pod, y eso estaba causando los duplicates.

Acabo de arreglar este error. Hice que CocoaPods instalara algunos frameworks (AWS, SDWebImage, AFNetworking. Arrastré manualmente 2 frameworks, Facebook e ImageIO. La mayoría de mis errores de "símbolo duplicado" fueron capturados en las classs de Facebook. Eliminé el marco y lo agregué al Podfile. Debe haber sido un error o una duplicación en las bibliotecas requeridas por Facebook.

Mi problema fue … extraño. No estoy seguro de cómo sucedió, pero en algún momento, Xcode decidió include algún antiguo file .m una vez más en su file .pbxproj . La única forma en que lo encontré fue comparando mis cambios en git, observando la versión del código donde falló la compilation.

Simplemente eliminando esta línea resolvió mi problema: Una muestra de un conjunto de cambios git, con un archivo agregado y cero eliminado.

Tenga cuidado si usa Cordova iOS 4.5.0 , puede ocurrir un error de este tipo

 duplicate symbol _OBJC_METACLASS_$_CDVLogger in: /Users/toto/Library/Developer/Xcode/DerivedData/imp-hkzujazvkracgugyxunzwnzpeiqx/Build/Intermediates/imp.build/Debug-iphoneos/imp.build/Objects-normal/armv7/CDVLogger.o /Users/toto/Library/Developer/Xcode/DerivedData/imp-hkzujazvkracgugyxunzwnzpeiqx/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o) ld: 2 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Puede deberse al uso de cordova-plugin-console , que ya no es útil en Cordova iOS 4.5.0 (¡y también rompe la compilation!).

Arreglarlo

 cordova plugin remove cordova-plugin-console 

Ver reference: https://cordova.apache.org/announcements/2017/09/08/ios-release.html

Tenía files duplicates en mi Xcode. Físicamente, había un file m y un file h. Pero en el proyecto se duplicó causando duplicates en las fonts de compilation. Después de eliminar el problema del file duplicado m y h se resolvió.

Es porque el simulador de iPhone obtuvo references duplicadas .h y .m. Luché durante horas por este error.

Mi solución fue simple. Copié el proyecto a mi memory USB y lo borre de la memory de la computadora.

Abrió un nuevo proyecto, copió el guión gráfico y agregó los files .h y .m. Algunos errores solucionados seleccionando classs nuevamente en la vista de tabla de almacenamiento.

También tenía símbolos duplicates. Acabo de cambiar el nombre del procedimiento (app -> app1, app2) y los campos asociados app.XXX -> app1.XXX. Y funcionó !

Ver: (en un file .m)

 AppDelegate* app1; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization app1 = (AppDelegate *)[[UIApplication shanetworkingApplication] delegate]; } return self; } (...) - (int) getLimit { if (app1.product2buyed) return MAXID; else if (app1.product1buyed) return 70; else return 10;