Question

Je l'ai déjà passé d'innombrables heures au cours de cette déroutante, en utilisant les recherches Google et les autres questions Stack Overflow en vain.

J'ai une application universelle iPhone / iPad, qui semble compiler correctement lorsque la cible est ARMv6. Cependant, lorsque l'appareil est iPad, je reçois cet avertissement:

warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.

Étrangement, l'application fonctionne toujours aussi bien sur iPad malgré cet avertissement. Cependant, je ne veux faire les choses « droit chemin » ce que jamais cela signifie dans ce cas. Lorsque je passe l'architecture cible à ARMv7, je reçois des erreurs lien:

  "___restore_vfp_d8_d15_regs", referenced from:
     *redacted*

  "___save_vfp_d8_d15_regs", referenced from: 
     *redacted*

ld: symbol(s) not found

collect2: ld returned 1 exit status

Les parties « caviardées » des erreurs sont des références à la bibliothèque statique à laquelle je suis en train de créer un lien.

Voici ce que j'ai essayé de nombreuses suggestions en ligne. Chacun d'entre eux ont été proposés plus d'une fois, sans aucune explication, ce qui me porte à croire que personne ne comprend tout à fait ce problème:

  

"Ne jamais utiliser le menu déroulant en haut à gauche de la fenêtre de XCode pour choisir la cible. Au lieu de cela, réglez ce paramètre SDK de base et le kit de développement de base à l'iPhone OS 3.0 dans la configuration cible. Réglez le périphérique cible à votre cible préférée (iPad, iPhone OS 3.2 dans ma situation.) "

Cela donne l'erreur « Bibliothèque introuvable pour -lcrt1.3.1.o »

  

« Assurez-vous que GCC ne liant avec la mauvaise version de la bibliothèque standard. (Vous devrez vous assurer que le LIBRARY_SEARCH_PATH ne pas le mauvais chemin en elle.) »

Mon LIBRARY_SEARCH_PATH est déjà vide, donc cela ne semble pas pertinent.

  

"Essayez la compilation avec GCC 4.0 plutôt que GCC 4.2."

Je reçois une erreur de syntaxe dans un fichier d'en-tête UIKit. L'erreur est « Erreur de syntaxe avant jeton « de AT_NAME ». » La ligne est "UIKIT_EXTERN @interface UILocalizedIndexedCollation. NSObject"

Un autre projet compile très bien avec les mêmes paramètres cibles, qui est vraiment me rendant la question ma santé mentale. Pourrais-je avoir affaire à un projet XCode corrompu?

Si quelqu'un sait ce qui se passe réellement et a une référence ou ne me dérange pas l'expliquer, je serais très reconnaissants.

Vive!

Était-ce utile?

La solution

VFP entre ARMv7 et ARMv6 diffère de diverses manières. En ARMv7 il est généralement préférable d'utiliser NEON. Le problème est votre bibliothèque statique dépend de VFP dans ARMv6 -. Soit vous devez compiler la bibliothèque de ARMv7 ou de conserver toute l'application à ARMv6

revenir en arrière à GCC 4.0 est stupide -. Le soutien ARMv7 retour était essentiellement inexistant alors à moins d'Apple backported il

Autres conseils

J'ai eu les mêmes erreurs sauf qu'il était pour ARMv6. Je les ai fixé en décochant dans les paramètres du projet « Compile pour le pouce » pour la bibliothèque statique et le projet principal.

En ce qui concerne l'erreur AT_NAME est l'un des possiblity est Vérifiez si vous manquez le @end dans une classe.

Pour en savoir plus sur l'erreur AT_NAME visitez le lien suivant

http://iosdevelopertips.com/xcode/error- -avant syntaxe d'erreur-AT_NAME-token.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top