symboles dupliqués pour l'architecture armv7

obtenir l'erreur suivante quand essayer d'utiliser le layar SDK dans mon application existante. Comment je peux résoudre ça?

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)
41
demandé sur Vishal 2013-05-07 23:29:16

15 réponses

cela peut arriver si vous accidentellement #import.m file au lieu du .h!

117
répondu Adrian Bigland 2015-06-03 13:48:08

généralement, ce genre d'erreur se produit en raison de classes dupliquées et de xibs dans votre dossier de projet. Par exemple, dans mon projet, j'avais des fichiers de classe dupliqués(.h./m de fichiers). Vous pouvez voir ces classes dupliquer sous target->Build phases->compile sources.

il suffit de regarder et supprimer les cours supplémentaires. Problème sera résolu.

80
répondu Vishal 2014-06-03 15:58:47

Arrive avec des variables statiques dans un fichier d'en-tête (fichier d'en-tête inclus dans plus d'une des implémentations de fichier).

50
répondu Jeff Lawson 2013-09-23 13:32:15

j'ai eu cette erreur parce que j'ai utilisé les indicateurs d'avertissement recommandés par Xcode. GCC_NO_COMMON_BLOCKS = YES causait le problème. Le réglage de ce retour à PAS fixe pour moi.

16
répondu pulse4life 2016-07-13 14:24:27

cette erreur peut aussi être causée si vous avez des importations cycliques.... laisse supposer que vous avez VC1.h,VC2.h et VC3.h

exemples qui sera la cause de l'erreur: (tous les .h fichiers)

  • si VC2 importe VC1 et les importations de VC1 VC2
  • si VC1 importe VC2 et les importations de VC2 VC3 et les importations de VC3 VC1

solution:

  • importer à l'intérieur de la .m au lieu de .h
  • si le .h les besoins de cette classe d'utilisation @class (nameOfClass); au lieu d'importer le .h

soyez prudent lorsque vous utilisez#import, seulement importer ce dont vous avez besoin.

7
répondu user2387149 2014-02-07 20:07:13

soyez prudent si vous utilisez

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)

C'est peut-être dû à l'utilisation de cordova-plugin-console, qui n'est plus utile dans Cordova iOS 4.5.0 (et les pauses de la construire aussi!).

corriger

cordova plugin remove cordova-plugin-console

Voir la référence : https://cordova.apache.org/announcements/2017/09/08/ios-release.html

6
répondu pom421 2017-09-13 15:40:04

j'ai fait face à ce problème une fois auparavant. La raison en est que j'ai copié certaines méthodes et variables déclarées dans le corps d'implémentation d'une classe à l'autre. Ainsi, renommez ces méthodes et déplacez ces variables dans la zone de déclaration de l'interface => résolu.

4
répondu Envil 2014-05-01 10:19:19

je voyais le même problème, mais avec des bibliothèques différentes. Le correctif a été la suivante:

Target -> Build Phases -> Linked Binary With Libraries

assurez-vous que les bibliothèques incluses sens. Dans mon cas, mon projet avait des libPods*.a (j'utilise des CocoaPods pour la gestion de la dépendance) mais aussi quelques bibliothèques qui étaient incluses dans les bibliothèques partagées de pod, et qui causaient les doublons.

2
répondu josephmisiti 2015-10-09 16:31:07

je viens de corriger cette erreur. J'ai eu des CocoaPods installant quelques cadres (AWS, SDWebImage, AFNetworking. J'ai traîné manuellement dans 2 cadres, Facebook et ImageIO. La plupart de mes erreurs de "duplicate symbol" ont été détectées dans les classes Facebook. J'ai supprimé le cadre et l'ai ajouté au Podfile. Doit avoir été une erreur ou une duplication dans les bibliothèques requises par Facebook.

1
répondu Anna Billstrom 2015-01-27 02:33:12

Mon problème... bizarre. Je ne sais pas comment c'est arrivé, mais à un certain moment, Xcode a décidé d'inclure certains anciens .m fichier une fois de plus dans son .pbxproj fichier. La seule façon de le trouver était de comparer mes modifications dans git, en regardant la version du code où la construction a échoué pour la première fois.

simplement supprimer cette ligne a résolu mon problème: A sample of a git changeset, with one file added and zero removed.

1
répondu Ben Leggiero 2015-12-18 22:24:17

j'avais des fichiers dupliqués dans mon Xcode. Physiquement, il y avait un fichier m et un fichier H. Mais dans le projet il a été doublé provoquant des doublons dans les sources de compilation. Après avoir supprimé le double M et h le problème de fichier a été résolu.

0
répondu Mansurov Ruslan 2015-01-29 14:27:59

C'est parce que le simulateur iPhone a été dupliqué .h. & m références. J'ai lutté pendant des heures pour ce microbe.

ma solution était simple. J'ai copié le projet de mon stylo lecteur et effacé de la mémoire de l'ordinateur.

a ouvert un nouveau projet, copié le storyboard et ajouté le .h.& m fichiers. Quelques erreurs corrigées en sélectionnant à nouveau les classes dans la vue storayboard..

0
répondu Alvin G 2015-05-11 05:50:12

j'avais aussi des symboles dupliqués. Je viens de renommer la procédure (app - > app1, app2) et les champs associés app.XXX - > app1.XXX. et cela a fonctionné !

Voir : (.m fichier)

AppDelegate* app1;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        app1 = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    }
    return self;
}

(...)

- (int) getLimit
{
    if (app1.product2buyed)
        return MAXID;
    else if (app1.product1buyed)
        return 70;
    else
        return 10;
0
répondu Tanos 2016-04-19 23:04:43

veuillez vérifier si vous avez ajouté un framework plus d'une fois, supprimez tout le framework s'il a été ajouté plusieurs fois, puis faites glisser-déposer à nouveau.

J'espère que cela résoudra votre problème. Heureux De Codage.

0
répondu Tejinder 2017-10-16 11:01:59

VOUS POUVEZ AVOIR DES PLUGINS SIMILAIRES INSTALLÉS.

J'utilise Cordova, et j'ai aussi eu plusieurs erreurs de symboles dupliqués. J'avais installé deux plugins:

  • cordova plugin e-mail compositeur
  • plugin cordova email

corrigé en supprimant "cordova plugin email" en utilisant...

cordova plugin remove cordova-plugin-email

Après que j'ai couru...

cordova prepare
cordova build ios

maintenant ma construction de xCode a fonctionné comme un charme! Woooo Hooo!

0
répondu Sandi Laufenberg-Deku 2017-11-28 22:20:15