51 votes

Problème de liaison Xcode4. Le fichier a été construit pour une archive qui n'est pas l'architecture reliée (arm6)

Récemment, je suis passé à Xcode4 et lors de la compilation de mon projet, une erreur s'est produite.

 ld: warning: ignoring file /Users/myname/Library/Developer/Xcode/DerivedData/appname-hezrgyqimckztgbdlslkavphdclw/Build/Products/Debug-iphoneos/libTapkuLibrary.a, file was built for archive which is not the architecture being linked (armv6)
Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_TKLoadingView", referenced from:
      objc-class-ref in RootViewController.o
 

J'ai ouvert la bibliothèque Tapku et vérifié que ses architectures étaient définies sur Standard (armv6 armv7).

Que puis-je faire pour résoudre ce problème?

111voto

yeonsh Points 2543

J'ai compris la cause du problème. J'ai changé 'Build Active Architecture Only' de TapkuLibrary de Yes en No et il se compile sans problème.

35voto

Josh Brown Points 16044

J'ai pu résoudre ce problème en faisant l'inverse de la réponse acceptée - j'ai changé le paramètre 'Construire une architecture active uniquement' de NON à OUI.

11voto

Kenpachi Points 1578

Avait le même problème. Mais la raison était différente je suppose. J'utilisais le fichier library.a construit pour le simulateur et essayant de l'exécuter sur un périphérique .. en suis venu à savoir que j'avais besoin de différents fichiers .a pour le simulateur et le périphérique. J'espère que ça aidera quelqu'un ;)

Par exemple, ici, j'ai importé différents fichiers de bibliothèque pour l'appareil et le simulateur.

11voto

sonoshin Points 201

J'ai rencontré ce problème lorsque j'ai mis à niveau le XCode vers 4.5 et iOS vers iOS6. Pour GMGridView, cela vient de se passer. Pas pour simulateur, mais seulement pour appareil.

J'ai corrigé cela en procédant comme suit: 1) Accédez au projet GMGridView -> Paramètres de construction. 2) Sous Paramétrage -> Architectures, sélectionnez "Standard (armv7, armv7s)".

Puis nettoyez tout (y compris DerivedData) et reconstruisez.

J'espère que ça aide!

6voto

Macmade Points 27414

Essayez de supprimer l’architecture armv6 et ne le compilez que pour armv7.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X