Domanda

ho già trascorso innumerevoli ore sconcertante su questo, utilizzando le ricerche di Google e di altre questioni di overflow dello stack senza alcun risultato.

Ho un'applicazione universale iPhone / iPad, che sembra per compilare bene quando il bersaglio è ARMv6. Tuttavia, quando il dispositivo è iPad, ottengo questo avvertimento:

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

Stranamente, l'app funziona ancora grande su iPad, nonostante questo avvertimento. Comunque, io voglio fare le cose nel "modo giusto" che cosa mai voglia dire in questo caso. Quando accendo l'architettura di destinazione per ARMv7, ottengo che collega errori:

  "___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

Le porzioni "redatte" degli errori sono riferimenti alla libreria statica a cui sto cercando di collegamento.

Ecco quello che ho provato dai molti suggerimenti on-line. Ognuno di questi sono state suggerite più di una volta, senza alcuna spiegazione, che mi porta a credere che nessuno abbastanza capisce questo problema:

  

"Non usare mai il menu a tendina in alto a sinistra della finestra XCode per scegliere la destinazione. Invece, impostare questo a Base SDK e quindi l'SDK Base per iPhone OS 3.0 nella configurazione di destinazione. Impostare il dispositivo di destinazione al tuo bersaglio preferito (iPad, iPhone OS 3.2 nella mia situazione.) "

Questo produce l'errore "Libreria non trovata per -lcrt1.3.1.o"

  

"Assicurarsi che GCC non è il collegamento con la versione sbagliata della libreria standard. (Dovrete assicurarsi che il LIBRARY_SEARCH_PATH non ha la strada sbagliata in essa.)"

Il mio LIBRARY_SEARCH_PATH è già vuoto, quindi questo non sembra rilevante.

  

"Provare a compilare con GCC 4.0, piuttosto che GCC 4.2."

ottengo un errore di sintassi all'interno di un file di intestazione UIKit. L'errore è "Errore di sintassi prima di 'AT_NAME' token". La linea è "UIKIT_EXTERN @interface UILocalizedIndexedCollation:. NSObject"

Un altro progetto compila bene con impostazioni stessa destinazione, , che è in realtà mi fa mettere in discussione la mia sanità mentale. Potrei avere a che fare con un progetto XCode corrotto?

Se qualcuno sa che cosa sta realmente accadendo e ha un riferimento o non mente spiegarlo, mi sarebbe così molto grato.

Cheers!

È stato utile?

Soluzione

VFP tra ARMv7 e ARMv6 differisce in vari modi. In ARMv7 relativo solitamente preferibile usare NEON. Il problema è la libreria statica dipende VFP in ARMv6 -. Si sia necessità di compilare la libreria a ARMv7 o mantenere l'intera applicazione a ARMv6

Ritornando a GCC 4.0 è sciocco. - Sostegno ARMv7 era praticamente inesistente torna quindi a meno che Apple backport che

Altri suggerimenti

Ho avuto gli stessi errori tranne che era per ARMv6. Li ho fissato deselezionando "Compila per pollice" nelle impostazioni di progetto per la libreria statica e il progetto principale.

Per quanto riguarda l'errore AT_NAME è interessato uno dei possiblity è Controllare se si perde l'@end in una classe.

Per saperne di più visita AT_NAME errore il seguente link

http://iosdevelopertips.com/xcode/error- sintassi-error-prima-AT_NAME-token.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top