web-dev-qa-db-fra.com

Erreur de l'éditeur de liens dans iOS (symboles en double pour l'architecture x86_64)

Je continue à recevoir l'erreur suivante:

duplicate symbol _llvm.embedded.module in:
/Users/name/Documents/FacebookSDKs-iOS-20150910/FBSDKCoreKit.framework/FBSDKCoreKit(FBSDKApplicationDelegate.o)
/Users/name/Documents/FacebookSDKs-iOS-20150910/FBSDKCoreKit.framework/FBSDKCoreKit(FBSDKServerConfiguration.o)
ld: 102 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

J'ai essayé de supprimer le FBSDK et de réinstaller, mais cela n'a pas fonctionné. Je soupçonne également que le fait que je ponte le framework dans Swift peut être le problème. Mon en-tête de pontage contient les éléments suivants:

#ifndef EggCrush_Bridge_h
#define EggCrush_Bridge_h

#import <FBSDKCoreKit/FBSDKCoreKit.h>

#endif

Mon fichier AppDelegate.Swift importe FBSDKCoreKit.
Il n'y a aucun autre indicateur de l'éditeur de liens.
J'exécute Xcode 6.3.2 et je crée un projet pour iOS 8.3

Comment effacer cette erreur?

20
Dan

Si vous ne vous trompez pas, vous utilisez le sdk qui vient d'être publié par Facebook le 10 septembre 2015 et qui s'appelait FacebookSDKs-iOS-20150910.Zip . Essayez d'utiliser sdk qui a été publié le 13 août 2015 et nommé FacebookSDKs-iOS-20150813.Zip et signalez à Facebook le problème de duplication si vous le pouvez. Je vous remercie.

51
Guan Chuan

Ce fil explique que vous devez compiler le SDK Facebook 4.6.0 dans Xcode 7 pour résoudre le problème. Après avoir compilé dans Xcode 7, cela a fonctionné pour moi.

Dans le SDK Facebook iOS 4.6.0, la prise en charge de l'App Thinning (Bitcode) a été ajoutée et ne peut donc pas être respectée dans les versions Xcode inférieures à Xcode 7.0.

25
Aravind Mariappan

Lorsque j'ai eu une erreur de symboles en double, j'ai ouvert mon fichier XML project.xcodeproj dans un éditeur de texte et recherché le symbole en double. Vous constaterez très probablement que FacebookSDK apparaît sur plusieurs lignes avec la même propriété "id". Assurez-vous d'avoir une sauvegarde de votre projet en cours et essayez de supprimer manuellement les doublons (ceux qui ont le même identifiant) dans ce fichier. Enregistrez le fichier, compilez et voyez si le projet s'exécute.

Vous voudrez peut-être essayer de simplement supprimer une ligne en double et voir si le nombre de doublons (apparemment vous en avez 102 !!) diminue en premier.

2
Amy
  1. Si vous utilisez FacebookSDKs-iOS-20160115.Zip et votre version XCODE XCODE 6.4 ou une version inférieure de [~ # ~] xcode [~ # ~] puis ce type de problème se crée.
  2. FacebookSDKs-iOS-20160115.Zip ceci est utilisé pour XCODE 7 .
  3. Vous pouvez utiliser https://developers.facebook.com/resources/FacebookSDKs-iOS-20150813.Zip.
  4. Son travail vous convient.
2
Sanandiya Vipul

J'ai été confronté au même problème de symboles en double. J'utilisais Xcode 6.4 mais plus tard, lorsque je suis passé à Xcode 7. Cela a bien fonctionné pour moi. Je suggérerais de mettre à niveau votre Xcode vers 7. si vous en utilisez un antérieur.