2012-01-29 10 views
6

Sto cercando di utilizzare il KeyChainitemwrapper fornito da Apple Il mio progetto utilizza ARC ma ho attivato ARC su KeyChainitemwrapper.m. il quadro 'security.framework' al mio progettoCome correggere "Simboli indefiniti per architettura i386: problema di collegamento" _main "?

sto ottenendo questo problema di collegamento:.

Undefined symbols for architecture i386: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

sono nuovo di sviluppo iOS, ma la mia ipotesi è che il problema ha a che fare con il fatto che il il simulatore sta cercando di compilare il mio codice sorgente i386 anziché il braccio ?? Sono chiuso?

Comunque ... sembra che questo wrapper sia abbastanza popolare quindi mi chiedevo se qualcuno che potrebbe avere familiarità con questo problema potrebbe dare una mano.

Grazie

risposta

24

Questo suggerisce che non si sta compilando main.m nel progetto. Assicurarsi di quanto segue:

  • Hai un main.m nel progetto
  • Ha una funzione in esso chiamato main()
  • Si sta effettivamente compilarlo. Vai al tuo progetto, quindi Compila fasi, quindi Compila origini. Assicurarsi che main.m sia nell'elenco.
+0

Grazie per la risposta. Il mio progetto non contiene un file chiamato main.m. Inoltre, non riesco a trovare riferimenti a "main". – Nick

+0

Ecco qua. Non hai 'main()', come indica il compilatore. Probabilmente dovresti ricostruire il tuo progetto da un modello di progetto. –

+0

Ho iniziato con un modello di progetto. Forse ho disabilitato la costruzione di qualcosa ?? – Nick

0

il codice verrà compilato per l'architettura i386 quando si utilizza il simulatore. Se si utilizza un dispositivo reale, il codice verrà compilato per il braccio.

Ho scaricato questo progetto, c'è un file main.c all'interno del gruppo "altre fonti".

0

Rimozione dei riferimenti a main.ce nel progetto risolvere il problema per me

Problemi correlati