2012-09-26 7 views
6

Sono nuovo per lo sviluppo di iphone e PhoneGap anche. Ora voglio creare una semplice app per iPhone usando PhoneGap. Ora sto usando phonegap2.0 in lion mac. La mia versione Xcode è la 4.3. Ora il mio problema è dopo l'installazione di phonegap2.0 in xcode quando eseguo Xcode nel mio Simulator 5.0. Ho ottenuto questo sotto l'errore.

"Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_CDVViewController", referenced from: 
     _OBJC_CLASS_$_ViewController in ViewController.o 
     objc-class-ref in AppDelegate.o 
    "_OBJC_METACLASS_$_CDVViewController", referenced from: 
     _OBJC_METACLASS_$_ViewController in ViewController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation)" 

Please help me per risolvere questo problema. Grazie in anticipo. E ho allegato la schermata di errore della pagina di riferimento. enter image description here

risposta

13

Verificare se il progetto collega libCordova.a (nel mio caso Xcode ha dimenticato il riferimento, quando si sposta CordovaLib.xcodeproj in un'altra posizione).

  • selezionare il progetto nel Navigatore progetto
  • andare al Sommario scheda
  • trascinare CordovaLib.xcodeproj > Products > libCordova.a a quadri Linked e biblioteche

enter image description here

Pulire la build &.

3

Verifica il file ViewController.m e goto a fase 1. Costruire in Xcode 2. Selezionare compilare sorgenti 3. Premere il pulsante + per aggiungere il file .m/.mm

penso che verrà eseguito correttamente ora

+0

Ciao. Grazie per la risposta. Ma mostra un altro errore. – kannan

+0

Qual era l'errore ??? – Saif

+1

"simboli non definiti per l'architettura ARMv6: "_OBJC_CLASS _ $ _ CDVViewController", fa riferimento a: _OBJC_CLASS _ $ _ ViewController in ViewController.o objc-class-ref nel AppDelegate.o "_OBJC_METACLASS _ $ _ CDVViewController", si fa riferimento da: _OBJC_METACLASS _ $ _ ViewController in ViewController.o ld: simbolo/i non trovato per l'architettura armv6 clang: errore: comando linker non riuscito con codice di uscita 1 (usare -v per vedere l'invocazione) " – kannan

2

Rimuovere armv7s dalle impostazioni di costruzione, sia per il progetto che per il sottoprogetto di riferimento Cordova. Imposta il tuo obiettivo su 4.3.

0

Ho avuto un problema simile. In qualche modo le sottoclassi NSManagedObject delle mie entità Core Data si trovavano nella tabella Compile Sources due volte. Il compilatore si strozzerebbe quando ha colpito il primo di questi duplicati.

Sono appena entrato nella tabella Compile Sources e ho cancellato la seconda occorrenza di ogni elenco .m.