2016-02-22 6 views
0

Je suis en train d'intégrer les services google pour ios dans mon application. Pour des raisons hors de mon contrôle, je ne peux pas utiliser de cocoapodes, donc je suis l'approche manuelle décrite here.Services Google - Dupliquer des symboles sur le lien

Le problème est le jeu SDK C++ Games version 2.1 (gpg.framework). Quand je l'ajoute, (build phases, lien binaire avec les bibliothèques, +) et construire Je reçois beaucoup d'erreurs de symboles en double:

duplicate symbol _AES_decrypt in: ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(libgpg.a-arm64-master.o) ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(aes.o)

. . .

duplicate symbol __ZTVN4buzz10XmlBuilderE in: ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(libgpg.a-arm64-master.o) ../../../../../Monkey/modules/googleservices/native/gpg-cpp-sdk/ios/gpg.framework/gpg(xmlbuilder.o) ld: 7242 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

J'ai passé une journée aller sur les causes les plus fréquentes pour les symboles en double dans la pile débordement et rien ne semble fonctionner. Suppression de tous les frameworks google et les a rajoutés, ajouté les frameworks google dans un projet différent (même problème), effacé les données dérivées, etc.

Des idées sur ce qui pourrait en être la cause? Aide beaucoup apprécié, merci.

Spécifications:

  • Xcode 7.2.1
  • cible de déploiement: 7.0
  • Jeux Play SDK C++ version 2,1
+0

Je pense que c'est un problème connu basé sur ce [thread] (https://github.com/google/gcm/issues/158). "Cela nécessiterait une correction de notre part (une nouvelle lib) qui empêche le symbole de se heurter." – abielita

Répondre

0

Cela pourrait ne pas être la meilleure solution, mais je l'ai résolu en ouvrant le fichier gpg et en supprimant les fichiers .o offensants contenant des symboles en double.

A suivi les instructions here.

Les fichiers supprimés sont libgpg.a- je * et example_mul.o

ne peut garantir que tout fonctionne, mais au moins ça me laisser faire un service de connexion Google à ce stade.

+0

Nous rencontrons le même problème avec gpg. Est-ce que la solution avec la suppression des fichiers .o fonctionne? Si vous avez trouvé de meilleures solutions, postez-les s'il vous plaît – Petr